#W2619. 数列游戏

数列游戏

题目描述

给定一个长度为 N 的序列,首先进行 A 次操作,每次操作在 Li 和 Ri 这个区间加上一个数 Ci。

然后有 B 次询问,每次询问 Li 到 Ri 的区间和。

初始序列都为 0。

输入格式

第一行三个整数 N A B。(1<=N<=1000000, 1<=A<=N, A<=B<=N)

接下来 A 行,每行三个数 Li Ri Ci。(1<=Li<=N, Li,Ri<=N, 0<=Ci<=100000000000000)

接下来 B 行,每行两个数 Li Ri。范围同上。

输出格式

对于每次询问,输出一行一个整数。

因为最后的结果可能很大,请对结果 mod 1000000007,我们假设答案均为正整数。

5 1 1
1 3 1
1 4
3

</p>

提示

数据范围:1<=N<=1000000,1<=A<=N,A<=B<=N,0<=Ci<=10^14。

提示:区间加后用差分数组求前缀和得到每个位置的值,再对值做前缀和即可 O(1) 回答区间和;注意数据范围大,需使用 long long,取模运算在每个前缀和处进行。

本题为 OI 赛制,满分 100 分,共 10 个测试点,每个测试点 10 分。

来源

差分数组专题(2017 信息学培训)