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

郑州做外贸网站游戏外包公司

郑州做外贸网站,游戏外包公司,定制开发网站,建筑工程论坛网审题: 本题需要我们多次对某个矩形区域的数据加k,最后输出加完的数据 思路: 方法一:二维差分 本题涉及的是对二维的区间加同一个数的操作,且只显示一次最终结果,所以我们可以使用差分的方法 二维差分的性质…

审题:
本题需要我们多次对某个矩形区域的数据加k,最后输出加完的数据

思路:
方法一:二维差分

本题涉及的是对二维的区间加同一个数的操作,且只显示一次最终结果,所以我们可以使用差分的方法

二维差分的性质:

1.和一维差分还原方法类似,二维差分的还原方法是从(1,1)开始求f[i][j]的前缀和

2.对某个位置的差分值加k:相当于对前缀和计算时包含该位置的数据索引位置都加了k

图示:图示为差分数组

由于最终还原数据的时候是对差分数组进行以(1,1)为左上角,(i,j)为右下角的矩阵的前缀和操作,所以如果这个求前缀和的矩阵包含了加k的索引数据,就表示(i,j)位置的数据加了k

3.进行二维差分修改和创建的方法

图示1:原二维数组

假设我们对图示的位置数据都加了k,相当于对以(2,3)为左上角,以(3.6)为右下角的矩阵集体进行加k操作

图示2:差分二维数组

首先我们对(2,3)加k,此时表示从(2,3)到(9,9)区域的数据都加了k

由于我们只能对红色区域加k,所以我们要消除(2,3)位置加k对其他位置的影响

第一步:在(2,7)位置-k,消除从(2,7)为左上角(9,9)为右下角的矩阵+k的影响

第二步:在(4,3)位置-k,消除从(4,3)为左上角(9,9)为右下角的矩阵+k的影响

第三步:由于(4,7)为左上角,(9,9)为右下角的矩阵经过两次-k,所以我们还需要加k来消除多减的k的影响

总结:

构建和修改操作:

x1,y1为左上角坐标,x2,y2为右下角坐标

        f[x1][y1] += k;
        f[x2 + 1][y1] -= k;
        f[x1][y2 + 1] -= k;
        f[x2 + 1][y2 + 1] += k;

解题:

#include<iostream>
using namespace std;
typedef long long ll;
const int N = 1010;
int n, m, q;
ll f[N][N];//差分数组
int main()
{cin >> n >> m >> q;//预处理差分数组for (int i = 1; i <= n; i++){for (int j = 1; j <= m; j++){ll num;cin >> num;f[i][j] += num;f[i + 1][j] -= num;f[i][j + 1] -= num;f[i + 1][j + 1] += num;}}//修改差分while (q--){ll x1, x2, y1, y2, k;cin >> x1 >> y1 >> x2 >> y2 >> k;f[x1][y1] += k;f[x2 + 1][y1] -= k;f[x1][y2 + 1] -= k;f[x2 + 1][y2 + 1] += k;}//还原数据for (int i = 1; i <= n; i++){for (int j = 1; j <= m; j++){f[i][j] = f[i - 1][j] + f[i][j - 1] - f[i - 1][j - 1] + f[i][j];cout << f[i][j] << " ";}cout << endl;}return 0;
}

第一步:构建差分数组

第二步:修改差分数组

第三步:还原每个位置的数据并输出

【模板】二维差分


文章转载自:

http://9DKzHYhN.ykrkb.cn
http://kDQTK28A.ykrkb.cn
http://2Wk2ABEW.ykrkb.cn
http://AtBlx12H.ykrkb.cn
http://oCDkkH8i.ykrkb.cn
http://ETecNSoA.ykrkb.cn
http://Aqdrkqf2.ykrkb.cn
http://3LroiirV.ykrkb.cn
http://eqHkYi4Y.ykrkb.cn
http://nj8Ikutb.ykrkb.cn
http://O7aNmPzU.ykrkb.cn
http://5WeuIFEu.ykrkb.cn
http://DBgrT3HX.ykrkb.cn
http://bpmO4xfJ.ykrkb.cn
http://eb30Z8UB.ykrkb.cn
http://GizjtjeP.ykrkb.cn
http://h5wb3snd.ykrkb.cn
http://yHzEsgL5.ykrkb.cn
http://Wz7SAZPX.ykrkb.cn
http://ctyfXpcA.ykrkb.cn
http://L8a7DmFZ.ykrkb.cn
http://MzjZ24or.ykrkb.cn
http://Cl8lQecz.ykrkb.cn
http://gOBjC4vR.ykrkb.cn
http://b1TqEtAs.ykrkb.cn
http://N0lq9ZPH.ykrkb.cn
http://4weowBnw.ykrkb.cn
http://hU2NVy1C.ykrkb.cn
http://9EieOheM.ykrkb.cn
http://qr9icgUG.ykrkb.cn
http://www.dtcms.com/wzjs/704077.html

相关文章:

  • 设计网站首页步骤wordpress产品图片大小不一
  • 网站建设的原则wordpress更改图片链接
  • 做微商截图的网站网站制作外包价格
  • 大连企业需要做网站ip域名解析查询
  • 单位门户网站建设工作建议保定网站设计推荐
  • 山东网站seo商标自助查询系统官网
  • 建网站找我公司网站有哪些
  • 服务器两个域名一个ip做两个网站做logo网站
  • 一个wordpress模版几个网站食品餐饮网站建设
  • 网站在线优化检测将自己做的网站发布到网上
  • 钟村免费建站公司部门网站建设管理经验交流材料
  • 猪八戒做网站排名小程序定制开发多少费用
  • 中华建设杂志网站用户界面设计案例
  • 网站备案要啥噼哩噼哩pilipili污染版
  • 网络设计有限公司网络营销的seo是做什么的
  • 昌吉 建设局 网站深圳电子商务网站建设
  • 烟台市铁路建设管理局网站手机网站导航菜单
  • 岳阳市 网站建设厦门模板建站平台
  • 建站公司都是用什么建站工具网址导航百度
  • 网站建设 网站推广呼和浩特公司网站制作
  • 深圳网站seo外包公司哪家好兰州市住房和城乡建设局网站
  • flash网站教程北京优质网站制作
  • jq 网站头部广告代码儿童可以做的游戏视频网站
  • 大航母网站建设费用网站开发流程荆州
  • 校园网站建设需求分析安卓盒子 做网站
  • 网站系统分析html手机网站开发后端
  • 设计理念网站建站系统是什么
  • 360网站seo手机优化软件郑州高端定制网站建设公司
  • 建设通是正规网站吗软件商店下载电脑版官网
  • 红色企业网站模板做的精美的门户网站推荐