子矩阵的和 刷题笔记 {二维前缀和}

首先我们的目标是让 sij表示为其左方和上方形成的矩阵所有元素的和

加上si-1j和sij-1后 si-1j-1部分重复了所以减去

最后加上aij即可完成目标

sij=si-1j+sij-1-si-1j-1+aij;

然后看题目要求

要求x1,y1,x2,y2围成的小正方形内的元素和

我们利用刚刚处理好的sij来操作

将是sx2y2圈成的大正方形里面扣掉这两块

即sx2y1-1和sx1-1y2

最后加回去重复减去的sx1-1y1-1即可

所以式子为 sx2y2-sx2y1-1-sx1-1y2+sx1-1y1-1

代码

#include<iostream>

#include<cstring>

#include<cstdio>

#include<algorithm>

using namespace std;

const int N=1010;

int aNN,sNN;

int n,m,q;

int main(){

cin>>n>>m>>q;

for(int i=1;i<=n;i++)

{

for(int j=1;j<=m;j++)

{

cin>>aij;

sij=si-1j+sij-1-si-1j-1+aij;

}

}

while(q--){

int x1,y1,x2,y2;

cin>>x1>>y1>>x2>>y2;

cout<<sx2y2-sx2y1-1-sx1-1y2+sx1-1y1-1;

}

return 0;

}

相关推荐
元气少女小圆丶29 分钟前
SenseGlove Nova 2+Unity开发笔记4
笔记·unity·游戏引擎
ZK_H1 小时前
MFC程序开发自学笔记其一——windows应用程序与c++基础
c++·笔记·mfc
GLDbalala2 小时前
GPU PRO 5 - 2.6 Wire Antialiasing 笔记
笔记
梦072 小时前
学习笔记-ClaudeCode快速安装配置上手
笔记·学习
江华森2 小时前
TDengine 时序数据库深度学习笔记
笔记·时序数据库·tdengine
路人蛃3 小时前
【深入理解计算机系统】第二章第一节(信息存储)笔记
服务器·网络·笔记·计算机网络·系统架构
imDwAaY3 小时前
机器学习入门:从感知机到逻辑回归,理解线性分类器与Softmax CS188 Note20 学习笔记
人工智能·笔记·python·学习·机器学习·逻辑回归
chushiyunen3 小时前
json-rpc笔记
笔记·rpc·json
诸葛思颖3 小时前
论文阅读笔记——NetLLM :当LLM遇上网络管理
论文阅读·笔记
NULL指向我3 小时前
TMS320F28379D笔记3:CPU定时器+SCi串口通信+micro_print
笔记