当前位置:网站首页>796. 子矩阵的和
796. 子矩阵的和
2022-08-05 11:46:00 【aJupyter】
Question
输入一个 n 行 m 列的整数矩阵,再输入 q 个询问,每个询问包含四个整数 x1,y1,x2,y2,表示一个子矩阵的左上角坐标和右下角坐标。
对于每个询问输出子矩阵中所有数的和。
输入格式
第一行包含三个整数 n,m,q。
接下来 n 行,每行包含 m 个整数,表示整数矩阵。
接下来 q 行,每行包含四个整数 x1,y1,x2,y2,表示一组询问。
输出格式
共 q 行,每行输出一个询问的结果。
数据范围
1≤n,m≤1000,
1≤q≤200000,
1≤x1≤x2≤n,
1≤y1≤y2≤m,
−1000≤矩阵内元素的值≤1000
输入样例:
3 4 3
1 7 2 4
3 6 2 8
2 1 2 3
1 1 2 2
2 1 3 4
1 3 3 4
输出样例:
17
27
21
Ideas
二维前缀和
Code
# 二维前缀和
''' s[0][0] = 0 (l1,r1),(l2,r2)区间和:s[l2][r2]-s[l1-1][r2]-s[l2][r1-1]+s[l1-1][r1-1] s[i][j] = s[i-1][j] + s[i][j-1] - s[i-1][j-1] + a[i][j] '''
N = 1010
a = [[0]]
s = [[0 for i in range(N)] for i in range(N)]
n,m,q = list(map(int,input().strip().split()))
for i in range(n):
a.append([0]+list(map(int,input().strip().split())))
for i in range(1,n+1):
for j in range(1,m+1):
s[i][j] = s[i-1][j] + s[i][j-1] - s[i-1][j-1] + a[i][j]
for i in range(q):
l1,r1,l2,r2 = list(map(int,input().strip().split()))
print(s[l2][r2]-s[l1-1][r2]-s[l2][r1-1]+s[l1-1][r1-1])
边栏推荐
- Android 开发用 Kotlin 编程语言三 循环控制
- 常见的 web 安全问题总结
- .NET深入解析LINQ框架(六:LINQ执行表达式)
- 支持向量机SVM
- IPMP、PMP、CPMP三个证书该如何选择,有什么区别,哪个对于工作上的
- 力扣330 按要求补齐数组(贪心)
- 2022 极术通讯-基于安谋科技 “星辰” STAR-MC1的灵动MM32F2570开发板深度评测
- TiDB 6.0 Placement Rules In SQL 使用实践
- 再获殊荣 | 赛宁网安入选2022年度“培育独角兽”企业榜单
- .NET in-depth analysis of the LINQ framework (6: LINQ execution expressions)
猜你喜欢
365天挑战LeetCode1000题——Day 050 在二叉树中增加一行 二叉树
关注微信公众号,自动登陆网站
使用Netty编写通用redis客户端(可指定服务器地址与端口号连接任意redis)
IPMP、PMP、CPMP三个证书该如何选择,有什么区别,哪个对于工作上的
内存问题难定位,那是因为你没用ASAN
分布式事务解决方案
Byte Qiu Zhao confused me on both sides, and asked me under what circumstances would the SYN message be discarded?
Http-Sumggling缓存漏洞分析
冬日里,28℃的爱情
163_技巧_Power BI 一键批量建立自定义字段参数
随机推荐
【HMS core】【FAQ】Health Kit、Ads kit、push Kit典型问题合集5
巴比特 | 元宇宙每日必读:中国1775万件数字藏品分析报告显示,85%的已发行数藏开通了转赠功能...
No developers, received a job to develop an IoT system, do you want to do it?
Letter from Silicon Valley: Act fast, Facebook, Quora and other successful "artifacts"!
60行从零开始自己动手写FutureTask是什么体验?
【硬件架构的艺术】学习笔记(2)同步和复位
深度学习(四)分析问题与调参 理论部分
时间格式2020-01-13T16:00:00.000Z中的T和Z分别表示什么,如何处理
Wingide 快捷键
The importance of parameter naming, remember a JDBC parameter conflict
163_技巧_Power BI 一键批量建立自定义字段参数
Mysql8基础知识
力扣330 按要求补齐数组(贪心)
支持向量机SVM
hdu1455 Sticks(搜索+剪枝+剪枝+.....+剪枝)
Web3 中的安全问题和防范
训练集Loss收敛,但是测试集Loss震荡的厉害?
Go Quick Start Guide: Basic Types
手把手教你定位线上MySQL慢查询问题,包教包会
Http-Sumggling缓存漏洞分析