#11425. 差分【模板】

内存限制:256 MiB 时间限制:1000 ms 输入文件: cf.in 输出文件: cf.out
题目类型:传统 评测方式:文本比较
上传者: Turing001

题目描述

输入一个长度为 n 的整数数组 a

接下来输入 m 个操作,每个操作包含三个整数 l, r, x ,表示将序列中 [ l, r ] 之间的每个数加上 x

请你输出进行完所有操作后的数组。

输入格式

第一行包含两个整数 n m

第二行包含 n 个整数,表示整数数组 a

接下来 m 行,每行包含三个整数 l,r,x ,表示一个操作。

输出格式

共一行,包含 n 个整数,表示最终数组。

样例

输入样例

6 3
1 2 2 1 2 1
1 3 1
3 5 1
1 6 1

输入样例

3 4 5 3 4 2

数据范围与提示

60%数据:1≤n,m≤10000

100%数据:1≤n,m≤100000,1≤l≤r≤n,−1000≤x≤1000,−1000≤a[i]≤1000

【差分知识点】

差分算法的主要用处:对数组的任意区间进行频繁的加减操作。

1、前缀和与差分之间的互逆关系(原数列是 A ,而 B 数列是 A 的差分数列,S 数列表示 B 数列的前缀和)

2、差分将区间操作转化为单点操作原理