[题] 差分 #差分

题目

差分


题解

复制代码
将要加上某个数的区间第一个数加上要加的数,
区间末的后一个元素减去此元素
就可以使区间内的数都加上此元素而后面的数保持原样

代码

cpp 复制代码
#include<bits/stdc++.h>
#define MAXN 200005
using namespace std;
int n,m,a[MAXN],b[MAXN];
int main(){
    cin >> n >> m;
    //原数组a
    for(int i = 1; i <= n; i ++) 
		cin >> a[i];
	//差分数组b 
    int l, r, c;
    for(int i =1 ; i <= m; i ++){
        cin >> l >> r >> c;
        b[l] += c; 
		b[r + 1] -= c;
    }
    //求差分的前缀和,得到的b[i]就是a[i]最后要加上的数
    for(int i = 1; i <= n ;i ++) 
		b[i] += b[i - 1];
    for(int i = 1; i <= n; i ++) 
		cout << a[i] + b[i] << " ";
    return 0;
}
相关推荐
手揽回忆怎么睡几秒前
win11灵活控制Python版本,使用pyenv-win
开发语言·python
HalvmånEver1 分钟前
Linux:基础IO(终)
linux·运维·c++·学习·缓冲区·libc
程序员卷卷狗2 分钟前
Java 单例模式的五种实现:饿汉式、懒汉式、DCL、静态内部类、枚举单例
java·开发语言·单例模式
唯唯qwe-2 分钟前
Day20:贪心算法,跳跃游戏
python·算法·贪心算法
@淡 定3 分钟前
动态代理(JDK动态代理/CGLIB动态代理
java·开发语言·python
laocooon5238578863 分钟前
背包问题~~!C++
开发语言·c++·算法
mit6.8244 分钟前
博弈论nim^|sg函数|涂色dp
算法
CreasyChan4 分钟前
C# 异步编程详解
开发语言·windows·c#
悟能不能悟11 分钟前
java 判断string[]中是否有a
java·开发语言
4***149011 分钟前
高并发时代的“确定性”挑战——为何稳定性正在成为 JVM 的下一场核心竞争?
java·开发语言·jvm