点击查看代码
#include<iostream>

using namespace std;
const int N = 1e3 + 10;
int a[N][N], s[N][N]; int main()
{
int n, m, q;
scanf("%d %d %d", &n, &m, &q);
for (int i = 1; i <= n; i ++)
for (int j = 1; j <= m; j ++)
scanf("%d", &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;
scanf("%d %d %d %d", &x1, &y1, &x2, &y2);
printf("%d\n", s[x2][y2] - s[x1 - 1][y2] - s[x2][y1 - 1] + s[x1 - 1][y1 - 1]);
}
return 0;
}

  1. 前缀和 s[ i ][ j ] 的计算公式,s[ i ][ j ] = s[ i - 1][ j ] + s[ i ][ j - 1 ] -s[ i - 1 ][ j - 1 ] + a[ i ][ j ];
  2. ( x2, y2 ) 和 ( x1, y1 ) 之间的矩阵和等于 s[ x2 ][ y2 ] - s[ x1 - 1 ][ y2 ] - s[ x2 ][ y1 - 1 ] + s[ x1 - 1 ][ y1 - 1 ];
  3. 可以画图,用表格表示,便于理解;

最新文章

  1. Android事件总线
  2. 《javascript权威指南》读书笔记——第二篇
  3. 操作JNI函数以及复杂对象传递
  4. SQL Server 2012清除连接过的服务器名称历史
  5. trunc函数
  6. javascript深度克隆与javascript的继承实现
  7. test_markdown
  8. ip地址0.0.0.0与127.0.0.1的区别(转载)
  9. Cup
  10. SpringBoot 2.0 mybatis mapper通用类
  11. 安装完MySQL数据库设置密码
  12. PCA降维实验代码
  13. 通过使用浏览器对象模型,输出当前浏览器窗口中打开的文档的URL信息,并将显示在窗口中。
  14. php官网下载的chm手册,源码字号太小的问题解决
  15. ROC曲线和PR曲线绘制【转】
  16. RSS Feeds with Spring Boot
  17. webstorm 上传代码到gitlab
  18. MySql存储引擎MyISAM和InnoDB的区别
  19. Windows Server 2012 R2
  20. Matlab中size、numel、length、fix函数的使用

热门文章

  1. 你也可以很硬核「GitHub 热点速览 v.22.13」
  2. 华为云图引擎服务 GES 实战——创图
  3. 现代中央处理器(CPU)是怎样进行分支预测的?
  4. hook(v16.7测试)?
  5. 手撕代码:leetcode70爬楼梯
  6. Spring-boot-菜鸟-properties配置
  7. 决策树算法一:hunt算法,信息增益(ID3)
  8. 使用jenkins实现前端自动化打包部署(Linux版本)
  9. ios audio不能够正常播放
  10. ES6-11学习笔记--函数的参数