0
点赞
收藏
分享

微信扫一扫

Acwing第796题(子矩阵的和)

小北的爹 2022-01-09 阅读 35

相关题目:

子矩阵的和https://www.acwing.com/problem/content/description/798/

相关代码:

/*
    本题需要用到容斥原理。具体的思路看y总的视频。
*/
#include<iostream>
using namespace std;
int a[1001][1001];
int s[1001][1001];
int m,n,q;
int main(){
    cin>>n>>m>>q;
    
    //计算前缀和
    for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++){
            cin>>a[i][j];
            s[i][j]=s[i-1][j]+s[i][j-1]-s[i-1][j-1]+a[i][j];   //借助第0行和第0列来缓冲。
            
        }
    }
    int x1,y1,x2,y2;
    for(int i=0;i<q;i++){
        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;
}
举报

相关推荐

0 条评论