#2671. [ICPC 2021 Nanjing R] Paimon Segment Tree
[ICPC 2021 Nanjing R] Paimon Segment Tree
题目描述
派蒙刚刚学习了可持久化线段树,她想马上练习一下。因此,荧决定给她出一道简单的问题:
给定数列 ,并进行 次操作。操作包含 个参数 () 和 ,代表对该序列第 到第 个元素加上 。
记 为 次操作后 的值。注意若 未被修改,则 的值与 相同。定义 是 的初始值。
完成所有操作后,荧进行 次询问,询问包含 个整数 和 ,派蒙需要回答
$$\sum\limits_{i=l_k}^{r_k}\sum\limits_{j=x_k}^{y_k} a_{i, j}^2 $$请将答案对 取模后输出。
输入格式
每个测试点含一组测试数据。
第一行 个整数 分别表示数列的长度,操作的次数和询问的次数。
第 行 个整数 ,表示原始数列。
接下来 行每行 个整数 $l_i, r_i, x_i(1 \le l_i \le r_i \le n, |x_i| < 10^9 + 7)$,表示区间加操作。
接下来行每行包含四个整数 $l_i, r_i, x_i, y_i (1 \le l_i \le r_i \le n, 0 \le x_i \le y_i \le m)$,表示询问。
输出格式
对每个询问单起一行输出答案模 的结果。
3 1 1
8 1 6
2 3 2
2 2 0 0
1
4 3 3
2 3 2 2
1 1 6
1 3 3
1 3 6
2 2 2 3
1 4 1 3
4 4 2 3
180
825
8
说明/提示
数据范围见输入格式。