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

二维差分矩阵 模板题


文章目录

  • 一、题目
  • 二、思路及代码
    • 1.思路
    • 2.答案
  • 总结
  • Just Review.


提示:以下是本篇文章正文内容

一、题目

输入一个 n
行 m
列的整数矩阵,再输入 q
个操作,每个操作包含五个整数 x1,y1,x2,y2,c
,其中 (x1,y1)
和 (x2,y2)
表示一个子矩阵的左上角坐标和右下角坐标。

每个操作都要将选中的子矩阵中的每个元素的值加上 c

请你将进行完所有操作后的矩阵输出。

输入格式
第一行包含整数 n,m,q

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

接下来 q
行,每行包含 5
个整数 x1,y1,x2,y2,c
,表示一个操作。

输出格式
共 n
行,每行 m
个整数,表示所有操作进行完毕后的最终矩阵。

数据范围
1≤n,m≤1000
,
1≤q≤100000
,
1≤x1≤x2≤n
,
1≤y1≤y2≤m
,
−1000≤c≤1000
,
−1000≤矩阵内元素的值≤1000

输入样例:
3 4 3
1 2 2 1
3 2 2 1
1 1 1 1
1 1 2 2 1
1 3 2 3 2
3 1 3 4 1
输出样例:
2 3 4 1
4 3 4 1
2 2 2 2

二、思路及代码

1.思路

和一维的差不多。

2.答案

代码如下:

#include <iostream>
#include <cstring>
#include <algorithm>using namespace std;const int N = 1010;int a[N][N], b[N][N];void insert(int x1, int y1, int x2, int y2, int c)
{b[x1][y1] += c;b[x2 + 1][y1] -= c;b[x1][y2 + 1] -= c;b[x2 + 1][y2 + 1] += c;
}
int main()
{int n, m, q;cin >> n >> m >> q;for (int i = 1; i <= n; i ++ )for (int j = 1; j <= m; j ++ ){cin >> a[i][j];insert(i, j, i, j, a[i][j]);}   while(q --){int x1, y1, x2, y2, c;cin >> x1 >> y1 >> x2 >> y2 >> c;insert(x1, y1, x2, y2, c);}for(int i = 1; i <= n; i ++){for(int j = 1; j <= m; j ++){b[i][j] += b[i - 1][j] + b[i][j - 1] - b[i - 1][j - 1];cout << b[i][j] << ' ';}cout << endl;}return 0;
}

总结

Just Review.


http://www.mrgr.cn/news/70714.html

相关文章:

  • Vue 3组件间通信全解:选项式API vs 组合式API
  • 机器学习阶段学习Day31
  • 第六章 前端工程化
  • Windows之使用putty软件以ssh的方式连接Linux中文显示乱码
  • MongoDB调优利器:掌握性能分析工具mongostat
  • 大数据新视界 -- 大数据大厂之 Hive 数据导入:多源数据集成的策略与实战(上)(3/ 30)
  • 李佳琦回到巅峰背后,双11成直播电商分水岭
  • 链式结构二叉树
  • 【QT常用技术讲解】任务栏图标+socket网络服务+开机自启动
  • 项目管理平台盘点:2024推荐的9款优质工具
  • jmeter基础05_第1个http请求
  • 【论文速看】DL最新进展202411011-图像超分、Transformer
  • 分布式----Ceph部署(上)
  • 软件测试中的PIE模型
  • 11个简单易用的电商购物车设计案例
  • 算法每日双题精讲——滑动窗口(长度最小的子数组,无重复字符的最长子串)
  • 探索 Java 中的线程池自定义技巧:高效、灵活地管理并发任务!
  • D-Link NAS设备 account_mgr.cgi 未授权RCE漏洞复现(CVE-2024-10914)
  • 【linux】网络基础 ---- 应用层
  • PCL 点云拟合 Ransac拟合圆柱
  • FastHTML快速入门:服务器渲染超媒体应用的利器
  • 并发编程(9)——Actor/CSP设计模式
  • js 数据类型=》理解=》应用
  • 【Android、IOS、Flutter、鸿蒙、ReactNative 】文本点击事件
  • 工具收集 - java-decompiler / jd-gui
  • Property ‘name‘ does not exist on type ‘Object‘.