一维
1 #include<bits/stdc++.h>
2 using namespace std;
3 const int N=1e5+5;
4 int n,m,l,r,c;
5 int a[N],d[N];
6 int main()
7 {
8 cin>>n>>m;
9 for(int i=0;i<n;i++) cin>>a[i];
10 for(int i=0;i<n;i++){
11 if(i==0) d[i]=a[i];
12 else d[i]=a[i]-a[i-1];
13 }
14 while(m--){
15 cin>>l>>r>>c;
16 d[l-1]+=c;
17 d[r]-=c;
18 }
19 for(int i=0;i<n;i++){
20 if(i==0) cout<<d[i]<<" ";
21 else{
22 d[i]+=d[i-1];
23 cout<<d[i]<<" ";
24 }
25 }
26 return 0;
27 }
二维
1 #include <bits/stdc++.h>
2 using namespace std;
3 const int N=1e3+5;
4 int a[N][N],d[N][N];
5 int n,m,q;
6 void deal(int x1,int y1,int x2,int y2,int c)
7 {
8 d[x1][y1]+=c;
9 d[x1][y2+1]-=c;
10 d[x2+1][y1]-=c;
11 d[x2+1][y2+1]+=c;
12 }
13 int main()
14 {
15 cin>>n>>m>>q;
16 for(int i=1;i<=n;i++){
17 for(int j=1;j<=m;j++){
18 cin>>a[i][j];
19 }
20 }
21 for(int i=1;i<=n;i++){
22 for(int j=1;j<=m;j++){
23 deal(i,j,i,j,a[i][j]);
24 }
25 }
26 while(q--){
27 int x1,x2,y1,y2,c;
28 cin>>x1>>y1>>x2>>y2>>c;
29 deal(x1,y1,x2,y2,c);
30 }
31 for(int i=1;i<=n;i++){
32 for(int j=1;j<=m;j++){
33 d[i][j]+=d[i-1][j]+d[i][j-1]-d[i-1][j-1];
34 }
35 }
36 for(int i=1;i<=n;i++){
37 for(int j=1;j<=m;j++){
38 cout<<d[i][j]<<" ";
39 }
40 cout<<endl;
41 }
42 return 0;
43 }
原文链接: https://www.cnblogs.com/wydxry/p/15786532.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/184568
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!