acwing 前缀差分

二维差分

  • 构造差分时,在读入矩阵元素时同时构建差分
  • 即最初差分矩阵是一个全零矩阵的差分
  • 读入一个元素时,差分矩阵随即更新
  • 即该数组是一个含有已读入元素的矩阵的差分矩阵
  • 随后对于区间累加,执行相应操作,因为当前矩阵已经是构造好的差分矩阵,直接在该矩阵上操作
  • 最后还原成原矩阵,使用二维前缀和进行还原

在这里插入图片描述

#include <iostream>
#include <vector>using namespace std;
vector<vector<int>> matrix;
void insert(int x1, int y1, int x2, int y2, int c)
{matrix[x1][y1] += c;matrix[x1][y2 + 1] -= c;matrix[x2 + 1][y1] -= c;matrix[x2 + 1][y2 + 1] += c;
}int main()
{int m, n, k;cin >> m >> n >> k;matrix.resize(m + 2, vector<int>(n + 2));for(int i = 1; i <= m; ++i){for(int j = 1; j <= n; ++j){int c;cin >> c;insert(i, j, i, j, c);}}for(int i = 0; i < k; ++i){int x1, y1, x2, y2, c;cin >> x1 >> y1 >> x2 >> y2 >> c;insert(x1, y1, x2, y2, c);}for(int i = 1; i <= m; ++i){for(int j = 1; j <= n; ++j){matrix[i][j] = matrix[i - 1][j] + matrix[i][j - 1] - matrix[i - 1][j - 1] + matrix[i][j];cout << matrix[i][j] << " ";}cout << endl;}return 0;}

二维前缀和

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

最小覆盖子串(LeetCode 76)

文章目录 1.问题描述2.难度等级3.热门指数4.解题思路参考文献 1.问题描述 给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串&#xff0c;则返回空字符串 “” 。 注意&#xff1a; 对于 t 中重复字符&#xff…

再见2023,你好2024(附新年烟花python实现)

亲爱的朋友们&#xff1a; 写点什么呢&#xff0c;我已经停更两个月了。2023年快结束了&#xff0c;时间真的过得好快&#xff0c;总要写点什么留下纪念吧。这一年伴随着许多挑战和机会&#xff0c;给了我无数的成长和体验。坦白说&#xff0c;有时候我觉得自己好像是在时间的…

Kindle使用USB数据线传书封面无法显示问题

以下内容只针对USB传书&#xff08;非越狱版本&#xff0c;越狱了有相关插件&#xff0c;这里不谈&#xff09;&#xff0c;不包括邮件传书。 恶心图如下&#xff1a; 直接把mobi/azw3/azw &#xff08;epub模式不能直接拷贝&#xff0c;kindle无法读取&#xff09;格式的电子…

机器人中的数值优化之罚函数法

欢迎大家关注我的B站&#xff1a; 偷吃薯片的Zheng同学的个人空间-偷吃薯片的Zheng同学个人主页-哔哩哔哩视频 (bilibili.com) 本文ppt来自深蓝学院《机器人中的数值优化》 目录 1 L2-Penalty Method 1.1等式约束 1.2不等式约束 2 L1-Penalty Method 3 Barrier Method …

Python 简易图形界面库easygui 对话框大全(续)

目录 EasyGUI库 主要特点 使用场景 对话框样式 10. 文件打开框 fileopenbox 11. 文件保存框 filesavebox 12. 目录打开框 diropenbox 13. 索引对话框 indexbox 14. 例外报告框 exceptionbox 15. 代码文本框 codebox 16. 密码输入框 passwordbox 17. 多重文本框 mul…

全球知名数字资产平台LBank 与 The Sandbox Korea 达成战略合作

全球知名数字资产平台LBank&#xff0c;携手韩国元宇宙创新者The Sandbox Korea&#xff0c;共同开启了一场数字与虚拟世界的奇妙之旅。自2023年11月22日起&#xff0c;这两大巨头正式结成战略联盟&#xff0c;以提升用户体验为核心目标&#xff0c;开启了全新的合作篇章。 在…

模拟控制方式(PWM)

引言 PWM&#xff08;脉冲宽度调制&#xff09;是一种常见的模拟控制方式&#xff0c;通过调节脉冲宽度来控制功率输出的占空比&#xff0c;从而实现模拟信号的传输和控制。在许多领域中&#xff0c;PWM都得到了广泛的应用&#xff0c;如电机控制、LED调光、音频控制等。本文将…

51系列--数码管显示的4X4矩阵键盘设计

本文介绍基于51单片机的4X4矩阵键盘数码管显示设计&#xff08;完整Proteus仿真源文件及C代码见文末链接&#xff09; 一、系统及功能介绍 本设计主控芯片选用51单片机&#xff0c;主要实现矩阵键盘对应按键键值在数码管上显示出来&#xff0c;矩阵键盘是4X4共计16位按键&…

《数据库系统原理》之关系数据库 【知识点罗列+关系代数例题演练】

目录 一、关系模型 1.什么是数据模型&#xff1f; 2.什么是关系模型? &#xff08;1&#xff09;字段&#xff1a; &#xff08;2&#xff09;属性 &#xff08;3&#xff09;记录 &#xff08;4&#xff09;元组 二、关系模型的数据结构和定义 1.域 2.笛卡尔积 3.…

飞致云开源社区月度动态报告(2023年12月)

自2023年6月起&#xff0c;中国领先的开源软件公司FIT2CLOUD飞致云以月度为单位发布《飞致云开源社区月度动态报告》&#xff0c;旨在向广大社区用户同步飞致云旗下系列开源软件的发展情况&#xff0c;以及当月主要的产品新版本发布、社区运营成果等相关信息。 飞致云开源大屏…

OrientDB使用教程:全面了解图数据库

图数据库在当今数据处理领域中扮演着越来越重要的角色&#xff0c;而OrientDB作为一种多模型的数据库&#xff0c;具有图数据库、文档数据库和对象数据库的特性&#xff0c;为应对不同场景提供了灵活的解决方案。本教程将简要介绍OrientDB的使用&#xff0c;包括基本概念、安装…

【数据结构】排序之插入排序

排序目录 1.前言2. 排序的概念及其运用2.1 排序的概念2.2 排序的运用2.3 常见的排序算法 3. 插入排序3.1 基本思想3.2 直接插入排序3.2.1 直接插入排序实现3.2.1.1 分析3.2.1.2 代码实现 3.3 希尔排序3.3.1 希尔排序实现3.3.1.1 分析3.3.1.2 代码实现 4. 附代码4.1 sort.h4.2 s…