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


相关推荐
老当益壮梁奶奶6 分钟前
Linux 软件编程学习笔记(六):线程编程入门与实践
linux·c语言·c++·笔记·学习
小小龙学IT8 分钟前
Dear ImGui 开源即时模式 GUI 库深度解析
c++·ui·开源
金幄科技1 小时前
RAG第四篇:重排序 Rerank——粗召回之后,为什么还需要一次精排
人工智能·算法·ai·ai编程
M78佐菲1 小时前
Linux学习笔记:文件IO
linux·笔记·学习·算法
ShineWinsu1 小时前
对于TRAE中配置Qt的解析
开发语言·c++·ide·vscode·qt·ai·trae
小小龙学IT1 小时前
第一节 QML 背景介绍
c++·qt·js
水饺编程1 小时前
第5章,[Win32 章节] :创建、选择和删除画笔
c语言·c++·windows·visual studio
wind100322 小时前
Outdated Visual C++ Redistributable 过时 VC++ 运行库报错修复
开发语言·c++
小小龙学IT2 小时前
Abseil 开源 C++ 公共库深度解析:从 SwissTable 到 Status 的 Google 工程实践
c++·开源
lhldsg2 小时前
课程排课系统实战指南:从数据库设计到算法调优全流程解析
java·数据库·算法·小程序