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


相关推荐
jojo_zjx几秒前
GESP 23年9月2级 小杨的X字矩阵
c++
张祥6422889041 分钟前
GNSS单点定位方程推导笔记
人工智能·算法·机器学习
君生我老2 分钟前
C++ list类容器常用操作
开发语言·c++
fpcc2 分钟前
跟我学C++中级篇——文件和目录
linux·c++
吴秋霖2 分钟前
某网站x-s补环境(Cursor版)
算法·js逆向·cursor·补环境
ouliten5 分钟前
C++笔记:std::tuple
c++·笔记
炽烈小老头6 分钟前
【每天学习一点算法 2026/01/20】汉明距离
学习·算法
夏鹏今天学习了吗6 分钟前
【LeetCode热题100(86/100)】最长有效括号
算法·leetcode·职场和发展
小龙报8 分钟前
【初阶数据结构】解锁顺序表潜能:一站式实现高效通讯录系统
c语言·数据结构·c++·程序人生·算法·链表·visual studio
历程里程碑11 分钟前
Linux 1 指令(1)入门:6大基础指令详解
linux·运维·服务器·c语言·开发语言·数据结构·c++