#P7770. 「CGOI-1」丑国旅游

    ID: 8510 远端评测题 1000~2000ms 384MiB 尝试: 0 已通过: 0 显示难度提高 上传者: 标签>O2优化可持久化线段树

「CGOI-1」丑国旅游

背景

丑国风景优美,是远近闻名的旅游胜地(并不)。来丑国旅游的人很多。

题目描述

丑国的一角排列着编号从 11 到 nn 的 nn 个城市。当一个人在第 ii 个城市时,能且仅能走到第 i+1i+1 个城市。

第 ii 个城市中的人们最讨厌丑值为 aia_i 的人。当一个丑值为 xx 的人从第 ii 个城市走到第 i+1i+1 个城市时,他会获得 ∣x−ai∣×∣x−ai+1∣|x-a_i|\times|x-a_{i+1}| 的舒适值。

现在有 mm 个人要来丑国旅游,第 ii 个人的丑值为 xix_i,要从城市 lil_i 走到 rir_i,问他得到的舒适值之和是多少。

由于这个数可能很大,你需要求出对 109+710^9+7 取模后的值。

由于你不能预知到下一次旅游,我们会强制你在线。

简化版题意:

给出 nn 及 nn 个整数 a1, a2, …, ana_1,\,a_2,\,\dots,\,a_n。

mm 次在线询问,每次询问给出 x, l, rx,\,l,\,r,求 ∑i=lr−1∣x−ai∣×∣x−ai+1∣\sum\limits_{i=l}^{r-1}|x-a_i|\times|x-a_{i+1}|。

输入格式

第一行输入两个整数 n,mn,m,分别表示城市数与旅游人数。

第二行输入 nn 个整数,第 ii 个数表示 aia_i,含义如上所述。

接下来 mm 行,每行输入三个整数 X, L, RX,\,L,\,R,记上一次的旅游的总舒适值对 109+710^9+7 取模后为 ss(若是第一次询问,则 s=0s=0),则 $x_i=X\operatorname{xor}s,\;l_i=L\operatorname{xor}s,\;r_i=R\operatorname{xor}s$,其中 xor⁡\operatorname{xor} 表示异或,而 xi, li, rix_i,\,l_i,\,r_i 的含义如上所述。

输出格式

输出 mm 行,第 ii 行的数表示第 ii 个人的总舒适值对 109+710^9+7 取模后的值。

5 2
1 2 3 4 5
1 1 3
6 1 7
2
0

提示

样例说明:

对于第一次询问,从城 11 走到城 22,获得舒适值为 ∣1−1∣×∣1−2∣=0|1-1|\times|1-2|=0;从城 22 走到城 33,获得舒适值为 ∣1−2∣×∣1−3∣=2|1-2|\times|1-3|=2,故总舒适值为 22。

对于第二次询问,解密后的 x, l, rx,\,l,\,r 分别是 4,3,54,3,5。从城 33 走到城 44,获得舒适值为 ∣4−3∣×∣4−4∣=0|4-3|\times|4-4|=0;从城 44 走到城 55,舒适值为 ∣4−4∣×∣4−5∣=0|4-4|\times|4-5|=0,总舒适值为 00。


数据范围:

本题采用捆绑测试。

编号 特殊限制 分值 时限
Subtask0 n, m≤104n,\,m\le 10^4 20pts 1s
Subtask1 ai, x≤10a_i,\,x\le 10 10pts 2s
Subtask2 aia_i 单调递增
Subtask3 无特殊限制 60pts

对于 100%100\% 的数据,1≤n, m≤3×1051 \le n,\,m \le 3 \times 10^5,1≤ai, xi≤1091 \le a_i,\,x_i \le 10^9,1≤li<ri≤n1 \le l_i < r_i \le n。