蓝桥杯省赛无忧 第二章 基础算法 课件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;
}


相关推荐
鳄鱼儿17 小时前
密码算法的OID查阅
算法
卡提西亚17 小时前
C++笔记-34-map/multimap容器
开发语言·c++·笔记
lxh011317 小时前
螺旋数组题解
前端·算法·js
2***B44917 小时前
C++在金融中的QuantLibXL
开发语言·c++·金融
A***071718 小时前
C++在游戏中的阴影渲染
开发语言·c++·游戏
czlczl2002092518 小时前
算法:二叉树的公共祖先
算法
Q***l68719 小时前
C++在计算机图形学中的渲染
开发语言·c++
oioihoii19 小时前
C++语言演进之路:从“C with Classes”到现代编程基石
java·c语言·c++
小白程序员成长日记19 小时前
2025.11.23 力扣每日一题
算法·leetcode·职场和发展
咔咔咔的19 小时前
3190. 使所有元素都可以被 3 整除的最少操作数
c++