二维差分

给定原矩阵a[i,j],构造差分矩阵b[i,j],使得a[][]是b[][]的二维前缀和

核心操作:
给以(x1,y1)为左上角,(x2,y2)为右下角的子矩阵中的所有数a[i][j]全部都加上C

b[x1,y1]+=C;
b[x1,y2+1]-=C;
b[x2+1,y1]-=C;
b[x2+1,y2+1]+=C;

例题:
输入一个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 个整数,表示所有操作进行完毕后的最终矩阵。

代码如下:

#include <iostream>
using namespace std;
const int N = 1010;
int a[N][N];
int b[N][N];
void Insert(int x1,int y1,int x2,int y2,int c)
{b[x1][y1]+=c;b[x1][y2+1]-=c;b[x2+1][y1]-=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];}for (int i = 1;i<=n;i++)for (int j = 1;j<=m;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++){a[i][j] = a[i-1][j]+a[i][j-1]-a[i-1][j-1]+b[i][j];}for (int i = 1;i<=n;i++){for (int j = 1;j<=m;j++){cout<<a[i][j]<<" ";}cout<<endl;}return 0;
}

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

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

相关文章

C#的未来:简化参数空值验证

乍一看&#xff0c;提案#2145 似乎是 C# 8 可空引用类型特性的逻辑扩展。其基本思想是&#xff0c;开发人员不需要再显式地向接受非空参数的方法添加参数空值检查。然而&#xff0c;人们对于这个特性的争议很大。本文试图说明这些选项以及它们的利弊&#xff0c;以便读者能够得…

android一键截图代码,偷偷告诉你ADB命令葵花宝典【一键截图和录屏】

先导预告作为一名测试工程师&#xff0c;每天可能都会面临从不同的设备导出截图或视频的工作&#xff0c;有些可能是bug截图或bug回放视频&#xff0c;有些截图可能是提供给PM或UI验收等等。 常规操作是iOS设备可以借助于iTools等工具导出&#xff1b;而安卓设备可能需要从设备…

10进制转换成其他进制-短除法

将10进制下的n转换成b进制下的数。 代码如下: char get(int x) {if (x<9) return x0;return x-10A; }string base(int n,int b) {string num;while(n) num get(n%b),n/b;reverse(num.begin(),num.end());return num; }例题&#xff1a; 回文数是指数字从前往后读和从后往…

【C# 调用 Go 语言】0x1 Hello Golang

C# 和 Golang 都不是世界上最好的语言。在不同的业务场景下&#xff0c;C# 和 Golang 各有所长。如果要编写一个网络程序&#xff0c;显然 Golang 更擅长&#xff0c;而如果要编写一个桌面 GUI 程序&#xff0c;那么 C# 简直不要太爽。我们完全可以将两者用在同一个项目中&…

android仿支付宝弹窗,【转】MUI自定义底部弹窗自带遮罩层仿支付宝支付弹窗

[Asm] 纯文本查看 复制代码html,body{height: 100%;}.fr-tc{/* 控制弹窗高度 */height: 40%;}.fr-div-w{border-radius: 10px 10px 0px 0px;background-color: #FFFFFF;height: 100%;padding: 15px;}.fr-btn{display: block;height: 40px;width: 60%;background-color: #14b5ff…

整数二分

整数二分步骤&#xff1a; 1.找一个区间[L,R],使答案一定在这个区间 2.找一个判断条件&#xff0c;使得该判断条件具有二段性(一般具有单调性)&#xff0c;并且答案一定是该二段性的分界点 3.分析终点M在该判断条件下是否成立&#xff0c;如果成立&#xff0c;考虑答案在哪个区…

解惑小微企业信息化系统上云的顾虑

小微企业到目前阶段&#xff0c;一点信息化系统没上的企业很少了&#xff0c;几乎找不到了。为了满足信息化系统异地办公的外网访问需要&#xff0c;在综合考虑硬件成本和运维成本&#xff0c;初期上云☁应该是最经济实惠的方案。信息化和数字化经济发展不仅给商业模式带来变革…

android 运行在ui县城,Android基础:在UI线程中运行代码

Android基础&#xff1a;在UI线程中运行代码从在UI线程中运行代码的角度来看&#xff0c;在以下方面有什么区别&#xff1a;MainActivity.this.runOnUiThread(new Runnable() {public void run() {Log.d("UI thread", "I am the UI thread");}});或MainAct…

区间合并

区间合并算法&#xff1a; 1.将所有区间按左端点从小到大排序 2.从左到右遍历每个区间 例题&#xff1a; 某校大门外长度为L的马路上有一排树&#xff0c;每两棵相邻的树之间的间隔都是1米。 我们可以把马路看成一个数轴&#xff0c;马路的一端在数轴0的位置&#xff0c;另一端…

云原生时代, 选择.NET Core

在容器、Kubernetes、DevOps&#xff0c;以及微服务等技术的推动下&#xff0c;2020年云原生势不可挡。 .NET Core 也非常契合 云原生对应用运行时的不同需求&#xff0c;.NET Core和kubernetes 同年诞生发展&#xff0c; 2018年kubernetes 已经奠定了在容器编排领域的王者地位…

pm1 android,Android Sensor SDK

Android Sensor SDKStep By Step1.新建工程Android Studio配置将sensoro-sensor-kit.jar包放入道libs文件夹下,然后在当前工程下的build.gradle文件配置项中的dependencies新增内容,&#xff0c;如下compile files(libs/sensoro-sensor-kit.jar)Eclipse配置将sensoro-sensor-ki…

哈希表应用举例

例题&#xff1a; 伊娃喜欢从整个宇宙中收集硬币。 有一天&#xff0c;她去了一家宇宙购物中心购物&#xff0c;结账时可以使用各种硬币付款。 但是&#xff0c;有一个特殊的付款要求&#xff1a;每张帐单&#xff0c;她只能使用恰好两个硬币来准确的支付消费金额。 给定她拥有…

WebApi管理和性能测试工具WebApiBenchmarks

说到WebApi管理和测试工具其实已经非常多的了&#xff0c;Postman、Swagger等在管理和维护上都非常出色&#xff1b;在性能测试方面也有不少的工具如:wrk,bombardier,http_load和ab等等。不过这些工具都具有单一性&#xff0c;管理和维护好的在性能测试上比较低效&#xff0c;对…

android中的shape资源,Android Drawable资源讲解之shape篇

运用好Android的drawable资源&#xff0c;在开发中就可以减少图片的使用量&#xff0c;这样既缩小了app的体积&#xff0c;也省去了设计图片的时间&#xff0c;而且也容易适配不同的屏幕尺寸。今天首先来讲讲shape资源的使用。1. Shape的属性介绍shape共支持四种形状&#xff0…

C++unique函数应用举例

明明想在学校中请一些同学一起做一项问卷调查。 为了实验的客观性&#xff0c;他先用计算机生成了N个1到1000之间的随机整数&#xff0c;对于其中重复的数字&#xff0c;只保留一个&#xff0c;把其余相同的数去掉&#xff0c;不同的数对应着不同的学生的学号。 然后再把这些数…

C# WPF 一个设计界面

微信公众号&#xff1a;Dotnet9&#xff0c;网站&#xff1a;Dotnet9&#xff0c;问题或建议&#xff1a;请网站留言&#xff0c; 如果对您有所帮助&#xff1a;欢迎赞赏。C# WPF 一个设计界面今天正月初三&#xff0c;大家在家呆着挺好&#xff0c;不要忘了自我充电。武汉人民…

android中shape的属性,android中shape的属性

solid&#xff1a;实心&#xff0c;就是填充的意思android:color指定填充的颜色gradient&#xff1a;渐变android:startColor和android:endColor分别为起始和结束颜色&#xff0c;ndroid:angle是渐变角度&#xff0c;必须为45的整数倍。另外渐变默认的模式为android:type”line…

C++to_string应用举例

给定一个非负整数 N&#xff0c;你的任务是计算 N 的所有数字的总和&#xff0c;并以英语输出总和的每个数字。 输入格式 共一行&#xff0c;包含一个整数 N。 输出格式 共一行&#xff0c;用英语输出总和的每个数字&#xff0c;单词之间用空格隔开。 代码如下&#xff1a; …

合集| 21 篇技术文章,带你从零入门 K8s

由阿里云与 CNCF 共同开发的《CNCF x Alibaba 云原生技术公开课》&#xff08;视频课程&#xff09;第一期已更新完毕。为了让大家有更好的学习体验&#xff0c;我们把视频课程转为图文&#xff0c;并请讲师重新编辑成文章&#xff0c;在公众号以“从零入门 K8s” 为系列进行每…

C++string容器应用举例

给定一个整数&#xff0c;请将该数各个位上数字反转得到一个新数。 新数也应满足整数的常见形式&#xff0c;即除非给定的原数为零&#xff0c;否则反转后得到的新数的最高位数字不应为零。 输入格式 输入共1行&#xff0c;1个整数N。 输出格式 输出共1行&#xff0c;1个整数…