一维 二维 前缀和
一维:
略
二维:
模板题入口
#include<bits/stdc++.h>
using namespace std;
const int N=1010;
int a[N][N],s[N][N];
int n,m,k;
int main(){
cin>>n>>m>>k;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++){
cin>>a[i][j];
s[i][j]= a[i][j] + s[i-1][j] + s[i][j-1] - s[i-1][j-1];
} //求得矩阵前缀和
while(k--){
int x1,y1,x2,y2;
cin>>x1>>y1>>x2>>y2;
cout<<s[x2][y2] - s[x1-1][y2] - s[x2][y1-1]+ s[x1-1][y1-1]<<endl;
} //子矩阵和(区间和)
return 0;
}