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


相关推荐
神明不懂浪漫14 小时前
【第五章】队列
开发语言·数据结构·经验分享·笔记·算法
happy_baymax14 小时前
MATLAB MCP Server+ MATLAB Agentic Toolkit+Simulink Agentic Toolkit自动更新批处理文件.ps1
人工智能·算法
橘和柠15 小时前
知识图谱实战(一):数据采集与实体关系抽取(完整代码)
算法
郝学胜_神的一滴15 小时前
C++20 高级编程 001:从极简HelloWorld到现代类型体系全梳理
c++·后端
Mem0rin15 小时前
前缀和:中心下标与数组乘积
数据结构·算法
Lazionr15 小时前
list容器详解——双向链表的封装与使用
数据结构·c++·链表·list
windliang15 小时前
Claude Code 源码分析(八):Memory 如何被写入、整理与按需召回
前端·算法·面试
Nil20815 小时前
C++ emplace_back 与 push_back 详解
开发语言·c++
漂流瓶jz15 小时前
UVA-12174 Shuffle的播放记录 题解答案代码 算法竞赛入门经典第二版
数据结构·c++·算法·图论·滑动窗口·算法竞赛入门经典·uva
Forever Nore15 小时前
LeetCode 6 Z 字形变换 - 按行模拟
算法·leetcode