[题] 差分 #差分

题目

差分


题解

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

代码

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;
}
相关推荐
June`12 小时前
常量内存和只读缓存
c++·人工智能·算法·cuda
一条大祥脚12 小时前
ABC468 扫描线|贡献法|二阶差分|线段树优化DP
数据结构·算法
IT小盘12 小时前
16-Prompt版本管理-从手工修改到可追踪配置系统
开发语言·人工智能·python·prompt
happyprince12 小时前
篇2-bitsandbytes-具体观-算法与实现剖析
算法
Cx330❀12 小时前
【Linux网络】深入 HTTP 协议(五):从 Cookie/Session 原理到 C++ 源码实战
linux·运维·服务器·开发语言·网络·c++·http
鸿芯微控科技12 小时前
MFC气体转换系数怎么用?标定气体、换算方向与Python批量计算
c++·python·mfc
北冥you鱼12 小时前
Go语言四则运算实战:从基础类型到big包的深度解析
开发语言·后端·golang
江畔柳前堤20 小时前
roLabelImg 详细安装教程
开发语言·人工智能·后端·云原生
Wang's Blog21 小时前
Go-Zero 项目开发47:自研微服务框架的必要性与核心结构设计
开发语言·微服务·golang
白鸽(二般)21 小时前
MinIO Java Client API
java·开发语言