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

网站的搭建流程黑科技软件网站

网站的搭建流程,黑科技软件网站,网站流程图,哪些网站可以做gif题目:798. 差分矩阵 题目描述 输入一个n行m列的整数矩阵,再输入q个操作,每个操作包含五个整数 x1,y1,x2,y2,c,其中 (x1,y1)和 (x2,y2)表示一个子矩阵的左上角坐标和右下角坐标。 每个操作都要将选中的子矩阵中的每个元素的值加…

题目:798. 差分矩阵

题目描述

输入一个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

时空限制

2s / 64MB

代码

#include<iostream>using namespace std;const int MaxNM = 1010;int n,m,q;
int a[MaxNM][MaxNM];
int b[MaxNM][MaxNM];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(){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]);insert(i, j, i, j, a[i][j]);}}while(q--){int x1,y1,x2,y2,c;scanf("%d%d%d%d%d", &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];printf("%d ",b[i][j]);}printf("\n");}return 0;
}

结果

在这里插入图片描述

解析

差分这块重点在于利用差分求前缀和从而实现原矩阵的区间值的改变。首先,我们来看差分矩阵中区间值得修改操作原理。

1、差分矩阵值的修改

如图(表示的是差分矩阵,每个格子表示一个数)。要实现对红色块区域+c(c为一个常数)。
在这里插入图片描述
需要将b[x1][y1]+c,这样会使得蓝框的值都改变,因此,还需要将绿色斜线和橙色斜线部分的值-c,并将绿色斜线和橙色斜线重叠部分的值+c。
在这里插入图片描述
根据差分的原理,接下去,可以用差分矩阵来表示。
在这里插入图片描述

2、差分矩阵的构造

假设一开始原矩阵的值都为0,然后将矩阵中的每个值插入到相应位置中,那么为了仅使得(x,y)位置的值发生改变,那么按照1的思路。
在这里插入图片描述
需要对绿色斜线部分-a[x][y],橙色斜线部分a[x][y],橙色斜线和绿色斜线重叠的部分+a[x][y]。
在这里插入图片描述

http://www.dtcms.com/a/422969.html

相关文章:

  • 【征文计划】从掌心到像素:深度解析Rokid UXR 2.0的手势识别与自定义交互实战
  • 零知IDE——STM32F407VET6与GP2Y1014AU的粉尘监测系统实现
  • 网站建设怎么创业网站正建设中
  • 网站建站哪个好宁波建设局网站首页
  • Day31_【 NLP _1.文本预处理 _(3)文本数据分析】
  • 金融/财务图表的强大可视化引擎——Highcharts Stock
  • 如何将照片从Mac传输到安卓设备
  • 第四部分:VTK常用类详解(第112章 vtkGlyph2D 2D符号化类)
  • 如何将三星手机的照片传输到Mac——6种可行的方法
  • 《系统与软件工程功能规模测量IFPUG方法》(GB/T42449-2023)标准解读
  • ChatExcel将发布数据分析Mini AI 工作站
  • 通过AWS IAM Policy Simulator进行权限验证和模拟测试
  • AWS Glue ETL 自动化数据清洗:从概念到企业级实战
  • 北京网站优化方法烟台网站网站建设
  • RabbitMQ 和 Kafka 对比
  • 大模型之扩散模型的学习一
  • 做企业网站 空间怎么买简述商务网站建设步骤
  • 做火锅加盟哪个网站好主营商城网站建设
  • 网站维护怎么做wordpress主题无法预览
  • [吾爱大神原创] wx小程序自动解包工具界面版1.0.0
  • Datagrip连接Oracle23的一些异常记录
  • springboot+vue心理健康服务小程序(源码+文档+调试+基础修改+答疑)
  • flink api-datastream api-source算子
  • 基于数据挖掘的在线游戏行为分析预测系统
  • 无极领域付费网站做外贸要访问国外的网站怎么办
  • 本地项目上传到Git仓库
  • 首批CCF教学案例大赛资源上线:涵盖控制仿真、算法与机器人等9大方向
  • Java外功精要(2)——Spring IoCDI
  • Git简单理解
  • 机器人的“神经网络”:以太网技术如何重塑机器人内部通信?【技术类】