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


相关推荐
ouliten5 分钟前
C++笔记:std::hash
c++·笔记·哈希算法
武帝为此6 分钟前
【专家系统介绍】
人工智能·算法
@insist1236 分钟前
软件设计师-分治法核心原理与典型应用
算法·软考·软件设计师·软件水平考试
机器学习之心6 分钟前
PSO-SVR粒子群算法优化支持向量机回归+SHAP分析+新数据预测,MATLAB代码
算法·支持向量机·回归·pso-svr·灰狼算法优化支持向量机回归
灰色小旋风8 分钟前
力扣 12 整数转罗马数字 C++
开发语言·c++·leetcode
8Qi88 分钟前
环形链表刷题笔记(LeetCode热题100--141、142)
c语言·数据结构·c++·算法·leetcode·链表
Kang.Charles10 分钟前
UE4 C++将Json数据写入目标字符串
c++·json·ue4
滴滴答滴答答14 分钟前
机考刷题之 13 LeetCode 1004 最大连续1的个数 III
java·算法·leetcode
一叶落43816 分钟前
139. 单词拆分(Word Break)
c语言·数据结构·算法·leetcode·深度优先·图论
Yupureki16 分钟前
《算法竞赛从入门到国奖》算法基础:数据结构-单调队列
c语言·数据结构·c++·算法