蓝桥杯省赛无忧 第二章 基础算法 课件27 差分

01 差分的原理和特点


02 差分的实现

03 例题讲解

csharp 复制代码
#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;
}


相关推荐
王老师青少年编程2 分钟前
2021信奥赛C++提高组csp-s复赛真题及题解:括号序列
c++·真题·信奥赛·csp-s·提高组·复赛·括号序列
追随者永远是胜利者2 分钟前
(LeetCode-Hot100)32. 最长有效括号
java·算法·leetcode·职场和发展·go
lifallen4 分钟前
CDQ 分治 (CDQ Divide and Conquer)
java·数据结构·算法
王老师青少年编程4 分钟前
2021信奥赛C++提高组csp-s复赛真题及题解:回文
c++·真题·回文·信奥赛·csp-s·提高组·复赛
追随者永远是胜利者15 分钟前
(LeetCode-Hot100)31. 下一个排列
java·算法·leetcode·职场和发展·go
ValhallaCoder25 分钟前
hot100-二分查找
数据结构·python·算法·二分查找
0 0 026 分钟前
【C++】矩阵翻转/n*n的矩阵旋转
c++·线性代数·算法·矩阵
sycmancia29 分钟前
C++——类的真正形态、构造函数的调用
开发语言·c++
m0_5312371731 分钟前
C语言-指针,结构体
c语言·数据结构·算法
癫狂的兔子32 分钟前
【Python】【机器学习】十大算法简介与应用
python·算法·机器学习