Acwing 796子矩阵的和

news2024/11/17 9:41:52

Acwing 796子矩阵的和

前缀和

在这里插入图片描述
更新 (前缀和数组):s[i][j]=s[i-1][j]+s[i][j-1]-s[i-1][j-1]+a[i][j]
查询(x1,y1)-------(x2,y2)矩阵的元素和
S=s[x2][y2]-s[x-1][y2]-s[x2][y1-1]+s[x1-1][y1-1]
输入一个 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

难度:简单
时/空限制:2s / 64MB
总通过数:67165
总尝试数:94618
来源:模板题
算法标签

import java.util.Scanner;
public class Main{
	static int N = 1000;
	static int n, m, q;// n是行数 m是列数 q是询问数
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner scan = new Scanner(System.in);
		n = scan.nextInt();
		m = scan.nextInt();
		q = scan.nextInt();
        int[][] num = new int[N+1][N+1]; // 输入的数组
        int[][] s = new int[N+1][N+1];// 前缀和数组
		// 输入数组
		for (int i = 1; i <= n; i++) {
			for (int j = 1; j <= m; j++) {
				num[i][j] = scan.nextInt();
			}
		}
		// 前缀和数组
		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] + num[i][j];
			}
		}
		for (int i = 1; i <= q; i++) {
			int x1 = scan.nextInt();
			int y1 = scan.nextInt();
			int x2 = scan.nextInt();
			int y2 = scan.nextInt();
			System.out.println(s[x2][y2] - s[x2][y1 - 1] - s[x1 - 1][y2] + s[x1 - 1][y1 - 1]);
		}
	}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/133945.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

QML教程(二)视觉对象

目录 一、矩形类型&#xff1a;Rectangle 二、图像类型&#xff1a;Image 三、基类类型&#xff1a;Item 一、矩形类型&#xff1a;Rectangle 矩形是最基本的视觉效果&#xff0c;Qt Quick提供了一个矩形类型来绘制矩形。这些矩形可以用颜色或垂直渐变着色。矩形类型还可以在…

【Linux】进程程序替换及shell的模拟实现

​&#x1f320; 作者&#xff1a;阿亮joy. &#x1f386;专栏&#xff1a;《学会Linux》 &#x1f387; 座右铭&#xff1a;每个优秀的人都有一段沉默的时光&#xff0c;那段时光是付出了很多努力却得不到结果的日子&#xff0c;我们把它叫做扎根 目录&#x1f449;进程程序替…

Mybatis-Plus 映射匹配兼容性

目录 问题一&#xff1a;表字段与编码属性设计不同步 问题二&#xff1a;编码中添加了数据库中未定义的属性 问题三&#xff1a;采用默认查询开放了更多的字段查看权限 TableField 问题四&#xff1a;表名与编码开发设计不同步 TableName 从表中查询出数据&#xff0c;并…

31.项目部署

目录 1 一些概念 1.1 项目部署 1.2 WSGI 1.3 uWSGI 1.4 Nginx 2 安装环境与迁移项目 2.1 项目内容 2.2 项目配置 2.2.1 DEBUG 2.2.2 STATIC_ROOT 2.2.3 ALLOWED_HOST 3 uWSGI 3.1 安装uWSGI 3.2 配置uWSGI 3.3 启动 uWSGI 3.4 停止 uWSGI 4 …

官方更新:基于VRA Tokenomics 社区常见问题解答

您好 Verasity 社区&#xff0c; 我们最近通过 Medium 发布了最新的代币经济学&#xff0c;您可以在此处阅读。 我们引入了一些新概念来促进我们作为产品的增长&#xff0c;例如我们的企业收购基金&#xff0c;我们还澄清了我们的流通和总供应量。 在我们的代币经济学文章发布…

SpringBoot概念、创建、运行、Spring Boot 配置文件

Spring Boot 就是 Spring 框架的脚⼿架&#xff0c;它就是为了快速开发 Spring 框架⽽诞⽣的。 1.Spring Boot 优点 快速集成框架&#xff0c;Spring Boot 提供了启动添加依赖的功能&#xff0c;⽤于秒级集成各种框架。内置运⾏容器&#xff0c;⽆需配置 Tomcat 等 Web 容器…

c++11 标准模板(STL)(std::deque)(五)

定义于头文件 <deque> std::deque 迭代器 返回指向容器第一个元素的迭代器 std::deque<T,Allocator>::begin, std::deque<T,Allocator>::cbegin iterator begin(); (C11 前) iterator begin() noexcept; (C11 起) const_iterator begin() const; (C11 前)…

Spring简介及IOC使用

Spring介绍 官网&#xff1a;https://spring.io/ Spring是一个对象的容器&#xff0c;负责管理对象的创建、销毁&#xff0c;以及对象的属性注入&#xff0c;对象的之间的依赖关系。 Spring可以整合其它框架&#xff0c;他基于IOC和AOP来构架多层JavaEE系统&#xff0c;以帮助分…

linux常用命令(六)- 文件属性查看

查看文件类型 - file file命令用于辨识文件类型。 语法 file [-bcvz] [文件或目录...]b&#xff1a;列出辨识结果时&#xff0c;不显示文件名称。c&#xff1a;详细显示指令执行过程&#xff0c;便于排错或分析程序执行的情形。v&#xff1a;显示版本信息。z&#xff1a;尝试…

基于麻雀搜索算法(SSA)优化长短期记忆神经网络参数SSA-LSTM冷、热、电负荷预测(Python代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

第三十六讲:无线AP胖AP模式配置与管理

胖AP(Fat AP)配置一个开放式WLAN非常方便&#xff0c;需要完成的操作包括有线和无线两部分的配置。有线部分即ethernet接口的配置&#xff0c;保证AP能够接入Internet,无线部分的配置包括关联WLAN与VLAN&#xff0c;广播SSID,启用VAP&#xff0c;若无其他DHCP服务器的话&#x…

万物皆有裂痕,那是光进来的地方|2022年个人总结

前两天朋友说要做个视频&#xff0c;记录下2022年的不平凡。突然想到今年是否要写年终总结呢&#xff1f;反复挣扎后&#xff0c;感觉还是应该写个总结&#xff0c;一则记录这一年的不平凡&#xff0c;二则检视这一年的生活与工作状态。- 1 - 工作的危与机2022年对所有的人来说…

Cocos Creator 常见错误排查方法

Cocos Creator 新手开发的时候经常会遇到一些错误不知道如何解决&#xff0c;今天把这些错误总结一下&#xff0c;下次遇到的时候&#xff0c;自己知道如何分析。 对啦&#xff01;这里有个游戏开发交流小组里面聚集了一帮热爱学习游戏的零基础小白&#xff0c;也有一些正在从…

【bp靶场portswigger-服务端2】身份认证漏洞-16个实验(全)

目录 一、身份验证定义 1、三个身份验证因素 2、身份验证和授权 3、身份验证漏洞的产生 4、实验的字典 二、基于密码的登录中的漏洞 1、强制策略 2、用户枚举 3、有缺陷的强力保护 实验1&#xff1a;通过不同响应的用户名枚举 实验4&#xff1a;通过细微不同的响应进…

【Web前端】一文带你吃透CSS(完结篇)

前端学习路线小总结&#xff1a; 基础入门&#xff1a;HTML CSS JavaScript 三大主流框架&#xff1a;VUE REACT Angular 深入学习&#xff1a;小程序 Node jQuery TypeScript 前端工程化 文章目录一.CSS布局-对齐1.水平对齐1.1元素居中对齐1.2文本居中对齐1.3图片居中对齐1.4使…

九章 - 2022年度文章大合集

今天&#xff0c;是九章成立的第639天&#xff0c;元旦节。九章全体员工在这里祝大家&#xff0c;2023年元旦快乐&#xff01;2022年&#xff0c;《九章智驾》这个账号里共发布了87篇原创深度内容&#xff0c;内容覆盖了自动驾驶的各个领域&#xff0c;有一直关注我们的读者的深…

怎么录屏?如何录制足球比赛直播视频?

等了多时&#xff0c;热血的足球赛事终于要来了。 不知道今年你看好哪支球队。皇马&#xff1f;曼联&#xff1f;拜仁&#xff1f; 虽然今年不用熬夜&#xff0c;但总是怕加班错过笔试。 今天给大家送一个安利神器&#xff0c;让你完美记录足球赛事精彩瞬间&#xff01; 如果您…

Eclipse JNI Demo --【Linux】

目录 1、建工程 2、建java类 3、生成头文件 4、CPP实现 5、配置及编译 6、验证 1、建工程 先创建一个android标准工程&#xff1a; 2、建java类 在com.phuket.tour.studio包下&#xff0c;建立一个Java文件Mp3Encoder.java&#xff0c;并且在文件中新增一个方法encode&…

MySQL数据库服务器的优化步骤

在数据库调优中&#xff0c;我们的目标就是响应时间更快&#xff0c; 吞吐量更大。利用宏观的监控工具和微观的日志分析可以帮我们快速找到调优的思路和方式。 当我们遇到数据库调优问题的时候&#xff0c;该如何思考呢&#xff1f; 这里把思考的流程整理成下面这张图。整个流…

Docker环境下配置Es自定义分词器(ik)

分词 一个 tokenizer&#xff08;分词器&#xff09;接收一个字符流&#xff0c;将之分割为独立的 tokens&#xff08;词元&#xff0c;通常是独立 的单词&#xff09;&#xff0c;然后输出 tokens 流。 例如&#xff0c;whitespace tokenizer 遇到空白字符时分割文本。它会将…