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


相关推荐
上位机妹子13 小时前
C 语言 数组删除指定元素(快慢指针法)
c语言·数据结构·算法
心中有你021413 小时前
【路径规划】A*寻路算法最通俗易懂讲解(C语言完整实现+详细注释)
c语言·开发语言·算法
YYYing.13 小时前
【设计模式系列 (七) 】桥接模式
c++·后端·设计模式·桥接模式
高山有多高14 小时前
【Linux笔记】Linux自定义Shell
linux·c++
papaofdoudou14 小时前
初中数学-整数整除判定法全解:从 2 到 19 的方法、依据与证明
算法
让学习成为一种生活方式14 小时前
啤酒花基因组与重测序--Nature Communications
人工智能·算法
悠仁さん14 小时前
【C++】vector 类
开发语言·c++
_upupup14 小时前
智能指针的原理及简单模拟实现(C++)
开发语言·c++
l1t14 小时前
DeepSeek总结的OpenZL压缩变换器
c++·算法
想吃火锅100514 小时前
【leetcode】238.除了自身以外数组的乘积js
javascript·算法·leetcode