我们先来实现一个二维数组的前缀:


int main()
{
int n, m, q;
cin>>n >>m >> q;
vector<vector<int>> arr(n + 1, vector<int>(m + 1));
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= m; j++) {
cin >> arrij;
}
}
vector<vector<long long>> dp(n + 1, vector<long long>(m + 1));
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= m; j++) {
dpij = dpi - 1j + dpij - 1 + arrij - dpi - 1j - 1;
int x1 = 0, y1 = 0, x2 = 0, y2 = 0;
while (q > 0) {
q--;
cin >> x1 >> y1 >> x2 >> y2;
cout << dpx2y2 - dpx1 - 1y2 - dpx2y1 - 1 + dpx1 - 1y1 - 1 << endl;
}
}
}
return 0;
}



class Solution {
public:
vector<int> productExceptSelf(vector<int>& nums) {
int n=nums.size();
vector<int> f(n),g(n);
f0=1;
gn-1=1;
for(int i=1;i<n;i++){
fi=fi-1*numsi-1;
}
for(int i=n-2;i>=0;i--){
gi=gi+1*numsi+1;
}
vector<int> ret(n);
for(int i=0;i<n;i++){
reti=fi*gi;
}
return ret;
}
};



class Solution {
public:
int subarraySum(vector<int>& nums, int k) {
unordered_map<int,int> hash;
hash0=1;
int sum=0,ret=0;
for(auto e:nums){
sum+=e;
if(hash.count(sum-k)) ret+=hashsum-k;
hashsum++;
}
return ret;
}
};



class Solution {
public:
int pivotIndex(vector<int>& nums) {
int n=nums.size();
vector<int> f(n),g(n);
for(int i=1;i<n;i++){
fi=fi-1+numsi-1;
}
for(int j=n-2;j>=0;j--){
gj=gj+1+numsj+1;
}
for(int i=0;i<n;i++){
if(fi==gi){
return i;
}
}
return -1;
}
};



class Solution {
public:
int findMaxLength(vector<int>& nums) {
int n=nums.size();
unordered_map<int,int> hash;
hash0=-1;
int sum=0,ret=0;
for(int i=0;i<n;i++){
sum+=numsi==0?-1:1;
if(hash.count(sum)) ret=max(ret,i-hashsum);
else hashsum=i;
}
return ret;
}
};



class Solution {
public:
vector<vector<int>> matrixBlockSum(vector<vector<int>>& mat, int k) {
int m=mat.size(),n=mat0.size();
vector<vector<int>> dp(m+1,vector<int>(n+1));
for(int i=1;i<=m;i++){
for(int j=1;j<=n;j++){
dpij=dpi-1j+dpij-1+mati-1j-1-dpi-1j-1;
}
}
vector<vector<int>> ret(m,vector<int>(n));
for(int i=0;i<m;i++){
for(int j=0;j<n;j++){
int x1=max(0,i-k)+1,y1=max(0,j-k)+1;
int x2=min(m-1,i+k)+1,y2=min(n-1,j+k)+1;
retij=dpx2y2-dpx1-1y2-dpx2y1-1+dpx1-1y1-1;
}
}
return ret;
}
};