当前位置: 首页 > news >正文

题解:AcWing 796 子矩阵的和

【题目来源】

AcWing:796. 子矩阵的和 - AcWing题库

【题目描述】

输入一个 \(n\)\(m\) 列的整数矩阵,再输入 \(q\) 个询问,每个询问包含四个整数 \(x_1,y_1,x_2,y_2\),表示一个子矩阵的左上角坐标和右下角坐标。

对于每个询问输出子矩阵中所有数的和。

【输入】

第一行包含三个整数 \(n,m,q\)

接下来 \(n\) 行,每行包含 \(m\) 个整数,表示整数矩阵。

接下来 \(q\) 行,每行包含四个整数 \(x_1,y_1,x_2,y_2\),表示一组询问。

【输出】

\(q\) 行,每行输出一个询问的结果。

【输入样例】

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

【解题思路】

image

【算法标签】

《AcWing 796 子矩阵的和》 #前缀和#

【代码详解】

#include <bits/stdc++.h>
using namespace std;const int N = 1010;  // 定义二维数组最大尺寸int n, m, q;        // n: 行数, m: 列数, q: 查询次数
int a[N][N];        // 存储原始二维数组
int s[N][N];        // 存储二维前缀和数组int main()
{// 输入矩阵的行列数和查询次数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[x2][y1-1] - s[x1-1][y2] + s[x1-1][y1-1]);}return 0;
}

【运行结果】

3 4 3
1 7 2 4
3 6 2 8
2 1 2 3
1 1 2 2
17
2 1 3 4
27
1 3 3 4
21
http://www.jsqmd.com/news/397364/

相关文章:

  • MyBatis-Plus13:自定义 TypeHandler
  • 2026年论文降AI率工具选型指南:多模型对比改写的核心逻辑与高效解决方案 - 小白条111
  • 深度学习算法之深度学习框架(PyTorch)的使用场景和使用方法及算法,优化方法,缺点_blog
  • [豪の算法奇妙冒险] 代码随想录算法训练营第四十三天 | 300-最长递增子序列、674-最长连续递增序列、718-最长重复子数组
  • 移动开发如何巧用 RxJava 优化代码
  • 深度强化学习TD方法:核心算法、实战场景与优化全解析
  • 深度学习框架MXNet深度解析:从核心算法到工业部署实战
  • 彻底禁止win11系统更新的方法,关闭win11自动更新的教程
  • 一键彻底禁止Win11自动更新6大方法,Win11系统的自动更新怎么彻底关闭?
  • 2026年论文赶due神器深度测评:一站式搞定全流程的多模型AI工作台选型指南 - 小白条111
  • 图像分类实战
  • 支持多语种的9个AI降重平台,提供改写、扩写、缩写全功能,满足不同场景文本优化需求
  • 并查集 - [JSOI2008] 星球大战
  • 2026年论文降AI味工具选型指南:多模型协同如何解决单一AI的“模板化陷阱” - 小白条111
  • 模拟与存根实战:unittest.mock深度使用指南
  • HarmonyOS 6.0分布式应用开发全解析:从架构革新到跨设备协同实战
  • 如何在豆包平台打广告,找哪个服务商? - 品牌2025
  • 手把手还你一个清爽的windows!---激活和清爽配置教程
  • 白血病细胞与正常细胞识别数据集:医学影像与智能诊断的细胞分析数据
  • 抢占AI流量新风口:doubaoAD如何助力企业实现豆包平台高效获客 - 品牌2025
  • 2026年论文急救AI工具选型指南:多模型协同如何解决due前3天的核心痛点 - 小白条111
  • 推荐9款高效AI降重工具,改写效果显著提升文本原创性,适用于论文及各类文稿的重复率优化需求
  • 9个超好用的AI降重网站,一键改写文章,效果惊艳。轻松解决重复率问题,写作必备工具清单
  • 这些AI降重网站绝了!9款工具改写效果拔群,三秒降低重复率,学术写作党赶紧收藏备用
  • 题解:AcWing 795 前缀和
  • 端侧AI爆发!AMD新芯片本地跑大模型,开发教程来了
  • 堆的基本存储
  • flask基于Spark的温布尔登特色赛赛事数据分析预测及算法实现
  • 空对象模式
  • 从IPD实践者到研发体系架构师(三):战略解码与流程锚定促成IPD流程的新增与强化活动设计