【算法】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;
      
}
相关推荐
DIY机器人工房22 分钟前
一个可以检测本机的字节顺序,并对任意数据进行字节顺序的反转操作的代码。
嵌入式硬件·算法·嵌入式·diy机器人工房
杰克尼2 小时前
11. 盛最多水的容器
算法·leetcode·职场和发展
程序员Xu4 小时前
【OD机试题解法笔记】查找接口成功率最优时间段
笔记·算法
技术思考者4 小时前
Leetcode - 反转字符串
数据结构·算法·leetcode
SKYDROID云卓小助手5 小时前
无人设备遥控器之多设备协同技术篇
网络·人工智能·嵌入式硬件·算法·信号处理
熬了夜的程序员6 小时前
【华为机试】34. 在排序数组中查找元素的第一个和最后一个位置
数据结构·算法·华为od·华为·面试·golang
phltxy6 小时前
ArrayList与顺序表
java·算法
小拇指~7 小时前
梯度下降的基本原理
人工智能·算法·计算机视觉
艾莉丝努力练剑7 小时前
【C/C++】类和对象(上):(一)类和结构体,命名规范——两大规范,新的作用域——类域
java·c语言·开发语言·c++·学习·算法
TDengine (老段)8 小时前
TDengine 中 TDgp 中添加机器学习模型
大数据·数据库·算法·机器学习·数据分析·时序数据库·tdengine