【算法】796. 子矩阵的和

题目

796. 子矩阵的和

思路

和一维前缀和类似,只不过在算s[i][j]时先减去两部分再加上减的重复的一部分再加上a[i][j]。最后输出时就用s[x2][y2]-s[x1-1][y2]-s[x2][y1-1]+s[x1-1][y1-1]<<endl。

代码

cpp 复制代码
#include<iostream>
using namespace std;
const int N=1010;
int main()
{
    int n,m,q;
    cin>>n>>m>>q;
    int a[N][N],s[N][N];
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=m;j++)
        {
            cin>>a[i][j];
        }
    }
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=m;j++)
        {
            s[i][j]=s[i-1][j]+s[i][j-1]-s[i-1][j-1]+a[i][j];
        }
    }
    while(q--)
    {
        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;
      
}
相关推荐
不枯石1 天前
Matlab通过GUI实现点云的最远点下采样(Farthest point sampling)
开发语言·图像处理·算法·计算机视觉·matlab
Nix Lockhart1 天前
《算法与数据结构》第六章[第4节]:哈夫曼树
数据结构·算法
多多*1 天前
linux安装hbase(完)
java·分布式·算法·c#·wpf
java1234_小锋1 天前
Scikit-learn Python机器学习 - 回归分析算法 - Lasso 回归 (Lasso Regression)
python·算法·机器学习
thginWalker1 天前
分布式协议与算法实战-实战篇
分布式·算法
润 下1 天前
C语言——函数(超详细分析)
c语言·开发语言·笔记·算法
tumu_C1 天前
无用知识研究:用sfinae实现函数模板的overload [一]
开发语言·c++·算法
-森屿安年-1 天前
数据结构——排序
数据结构·算法·排序算法
西望云天1 天前
Trie树实战:三道典型例题
数据结构·算法·icpc
dragoooon341 天前
[优选算法专题三.二分查找——NO.20搜索插入位置 ]
算法·leetcode·动态规划