01 差分的原理和特点
02 差分的实现
03 例题讲解
文章来源:https://www.toymoban.com/news/detail-808676.html
#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 +7;
int arr[N],diff[N];
void solve(int n,int m){
for(int i=1;i<=n;i++) cin >> arr[i];
for(int i=1;i<=n;i++) diff[i] = arr[i] - arr[i-1];
while(m--){
int x,y,z;cin >> x >> y >> z;
diff[x] += z,diff[y+1] -= z;
}
for(int i=1;i<=n;i++) arr[i] = arr[i-1] + diff[i];
for(int i=1;i<=n;i++) cout << arr[i] << ' ';
cout << endl;
}
int main()
{
int n,m;
while(cin >> n >> m) solve(n,m);
return 0;
}
文章来源地址https://www.toymoban.com/news/detail-808676.html
到了这里,关于蓝桥杯省赛无忧 第二章 基础算法 课件27 差分的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!