首页 > 其他分享 >797差分

797差分

时间:2022-12-20 19:11:07浏览次数:59  
标签:797 原题 int 更改 差分 数组

原题链接
定义差分数组b[],其中\(b[i] = a[i] - a[i - 1]\)
\(a_{x} = \sum_{i=1}^{x}b_{i}\)
更改\(a[l~r]\), 只要更改\(b[l-1]\)和\(b[r]\)即可, 最后要对\(b[]\)数组做一次前缀和得到之前的\(a[]\)

#include <bits/stdc++.h>

using namespace std;

const int N = 1e5 + 10;
int n, a[N], b[N], m;

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

int main()
{
    scanf("%d%d",  &n,  &m);

    for(int i = 1;i <= n;i ++ )
    {
        scanf("%d",  &a[i]);
        b[i] = a[i] - a[i - 1];
    }
        

    while(m--)
    {
        int l, r, c;
        scanf("%d%d%d",  &l,  &r,  &c);
        insert(l,  r,  c);
    }

    for(int i = 1;i <= n;i ++ )
        b[i] += b[i - 1];

    for(int i = 1;i <= n;i ++ )
        printf("%d ", b[i]);

    return 0;
}

标签:797,原题,int,更改,差分,数组
From: https://www.cnblogs.com/StkOvflow/p/16994910.html

相关文章

  • 二次差分维护
    原理类似,用线段树来维护区间求和,只是一个是一次差分的值,一个是二次差分的值P1438无聊的数列每次加上等差数列,单点查询#include<bits/stdc++.h>usingnamespacestd;......
  • 差分约束
    定义差分约束是一种特殊的一元不等式组,其中每一项都形如\(x_{i}-x_{j}\lem_{k}\),其中\(m_{k}\)是常数。差分约束算法可以求出一组可行解。推理我们注意到,每一个不等式......
  • 算法学习笔记(5)——前缀和与差分
    前缀和与差分前缀和与差分一维前缀和差分一维前缀和前缀和可以用于快速计算一个序列的区间和,也有很多问题里不是直接用前缀和,但是借用了前缀和的思想。用\(s[i......
  • 负环、差分约束和传递闭包
    差分约束https://oi-wiki.org/graph/diff-constraints/定义差分约束系统是一种特殊的\(n\)元一次不等式组,它包含\(n\)个变量\(x_1,...,x_n\)以及\(m\)个约束条......
  • 力扣 leetcode 797. 所有可能的路径
    问题描述给你一个有n个节点的有向无环图(DAG),请你找出所有从节点0到节点n-1的路径并输出(不要求按特定顺序)graph[i]是一个从节点i可以访问的所有节点的列表(即从节......
  • Color the ball HDU - 1556 _差分
    N名同学拍成一排,编号为1,2,3,4……N。现在有一位老师需要检查所有同学的出勤情况,他会进行点名,每次给出两个数a,b,并且保证a小于等于b,这个区间内的所有同学都会被点名一次,老师......
  • HDU 6273 Master of GCD(差分)
    题目分析贴一个别人的题解这个题就是一个差分数组,因为这数列的最大公约数就是这个数列2的出现2的最少次数的幂乘以3的出现3的最少次数的幂将2和3分开讨论,然后分......
  • 差分约束
    负环与差分约束系统负环简单点说,就是我们的图上存在着一个环,使得环上总边权为负,这样的的环被称为负环,类似的,我们也有对正环的定义,需要注意的是,无向图中我们按两条相反有......
  • 差分
    输入一个长度为 n 的整数序列。接下来输入 m 个操作,每个操作包含三个整数 l,r,c,表示将序列中 [l,r] 之间的每个数加上 c。请你输出进行完所有操作后的序列。#i......
  • 差分矩阵
    输入一个 n 行 m 列的整数矩阵,再输入 q 个操作,每个操作包含五个整数 x1,y1,x2,y2,c,其中 (x1,y1) 和 (x2,y2)表示一个子矩阵的左上角坐标和右下角坐标。每个操作......