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


相关推荐
David猪大卫2 小时前
【C++修炼】智能指针使用及原理
开发语言·c++·经验分享·笔记·学习·考研·面试
2601_967760782 小时前
2026年PDF压缩与页码添加工具技术实测:性能、算法与本地化适配深度对比
算法·pdf
零衣贰2 小时前
The 2026 ICPC Asia East Continent Online Contest (I) 题解
c++·icpc
不会就选b3 小时前
算法日常・每日刷题--<贪心>7
数据结构·算法·leetcode
moonrailgun3 小时前
用 Node.js 复刻 Codex Astra 的终端星光
前端·javascript·算法
fpcc3 小时前
c++编程实践—统一初始化
服务器·c++
罗西的思考4 小时前
[Agent Memory / 强化学习] MemPO源码学习笔记 ---(1)--- 总体
人工智能·算法·机器学习
Zenova EdgeOS5 小时前
C++ 工业边缘 libcurl HTTP 客户端实战
开发语言·c++·网络协议·边缘计算
lvwangshu5 小时前
图论:LCA、树的直径、树的重心、二分图与 Tarjan 缩点
算法·图论
Jackson_GJH5 小时前
Qt 右键自定义菜单的实现
开发语言·c++·qt