首页 > 其他分享 >差分

差分

时间:2024-10-22 19:13:15浏览次数:1  
标签:insert num int 差分 hou 100010

输入一个长度为 n的整数序列。
接下来输入m个操作,每个操作包含三个整数 l,r,c,表示将序列中 [l,r]之间的每个数加上 c。

#include<iostream>
using namespace std;
int num[100010] , hou[100010];

void insert( int l , int r , int c){
    hou[l] += c;
    hou[r + 1] -= c;
}

int main(){
    
    int n , m;
    cin >> n >> m;
    
    for(int i = 1 ; i <= n ; i ++) cin >> num[i];
    
    for(int i = 1 ; i <= n ; i ++)
        insert(i , i , num[i]);
    
    for(int i = 1 ; i <= m ; i ++){
        int l , r , c;
        cin >> l >> r >> c;
        insert(l , r ,c);
    }
    
    for(int i = 1 ; i <= n ; i ++) hou[i] += hou[i - 1];
    
    for(int i = 1 ; i <= n ; i ++) cout << hou[i] << " ";
    return 0;
}

标签:insert,num,int,差分,hou,100010
From: https://www.cnblogs.com/lxy54/p/18493549

相关文章

  • 中心差分卡尔曼滤波(CDKF)的MATLAB代码(三维非线性)
    、CDKF三维滤波MATLAB实现目录主要特点应用场景运行结果部分代码程序架构本MATLAB程序实现了一种先进的三维状态滤波方法——协方差差分卡尔曼滤波(CDKF),专为需要精确定位和动态系统分析的用户设计。通过高效的滤波技术,显著减少噪声影响,确保系统在各种环境下的稳......
  • 【采用BPSK或GMSK的Turbo码】MSK、GMSK调制二比特差分解调、turbo+BPSK、turbo+GMSK研
      ......
  • Codeforces Round 924 (Div. 2) D. Lonely Mountain Dungeons(推式子,思维,差分,前缀和)
    题目链接CodeforcesRound924(Div.2)D.LonelyMountainDungeons思路令f(n,m......
  • 从入门到精通——差分数组
    差分数组差分数组通常是指一个数组,其中每个元素是原数组中对应元素与前一个元素的差。这种数组在处理序列数据时非常有用,尤其是在需要计算连续项之间的变化或者进行数据压缩时。定理解释:差分数组的一个核心定理是,给定一个差分数组,可以唯一地重建原始数组。这意味着,如果......
  • 前缀和和差分归纳总结
    前缀和数组可以在O(1)的时间内求得某一区间中的所有数据的和差分数组可以在O(1)的时间内对某一区间中的所有数据进行加减操作原数组求差分及为差分数组,差分数组再求前缀和即为原数组一维前缀和:设原数组为a[N],前缀和数组为s[N],数组下标都从1开始存储每个s[i]等于a[1]......
  • 差分笔记
    差分笔记差分可看作前缀和的逆运算对于一个数组a[n]有:a[0]a[1]a[2]a[3]......a[n-2]a[n-1]构造一个差分数组b[n]使得其中每一项都为数组a每项的差:b[0]=a[0]b[1]=a[1]-a[0]......b[n-2]=a[n-2]-a[n-3]b[n-1]=a[n-1]-a[n-2]不难看出b的前缀和为a中的每一项a[n]......
  • 【C++差分数组】P1672何时运输的饲料
    本文涉及知识点C++差分数组C++算法:前缀和、前缀乘积、前缀异或的原理、源码及测试用例包括课程视频P1672何时运输的饲料原文比较啰嗦,我简述一下:第x天运来F1(1<=F1<=1e6)千克的饲料,第D(1<=2e3)天还剩F2(1<=F2<=F1)千克饲料,某人养了C头牛,moves[i]={comi,leavei},表......
  • 二维前缀和 & 二维差分
    二维前缀和求二维前缀和后,能够实现\(O(1)\)求原数组二维区间和,但是不支持修改。lln,m,sum2[N][N],c[N][N];voidSum2_pre(){fr(i,1,n)fr(j,1,m)sum2[i][j]=sum2[i-1][j]+sum2[i][j-1]-sum2[i-1][j-1]+c[i][j];}llSum2(llx......
  • Codeforces2020D Connect the Dots(观察 + 并查集 + 差分)
    题意多组数据。数轴上有\(n\)个点,编号为\(1\simn\),对这些点做$m$次操作。每次操作给出三个整数\(a_i(1\lea_i\len)\\\d_i(1\led_i\le10)\\\k_i(0\lek_i\len)\)。将点\(a_i,a_i+d_i,a_i+2\timesd_i,a_i+3\timesd_i,\cdot\cdot\cdo......
  • USB和CAN都是用差分信号来传输数据,为什么CAN的传输距离能比USB远那么多?
    USB和CAN的区别今天在看USB项目设计实例的时候,突然想到一个问题,从而引发了一些思考。经过思考加上查阅资料,写出了这一篇文章作为记录。问题​ USB和CAN都是用两条线作为差分线以差分信号进行数据传输。总所周知,差分信号有着很强的抗干扰能力。那为什么USB的一般传输距离是5米......