SP11470 TTM - To the moon
题目描述
一个长度为 $N$ 的数组 $\{A\}$,$4$ 种操作:
- `C l r d`:区间 $[l,r]$ 中的数都加 $d$,同时当前的时间戳加 $1$。
- `Q l r`:查询当前时间戳区间 $[l,r]$ 中所有数的和。
- `H l r t`:查询时间戳 $t$ 区间 $[l,r]$ 的和。
- `B t`:将当前时间戳置为 $t$。
所有操作均合法。
ps:刚开始时时间戳为 $0$。
输入格式
第一行两个正整数,$N, M$,表示数组长度和操作个数。
接下来一行 $N$ 个整数,表示数组 $\{A\}$。
接下来 $M$ 行,每行格式为 `C l r d` 或 `Q l r` 或 `H l r t` 或 `B t`,表示四种操作。
输出格式
对于每个 `Q l r` 或 `H l r t` 的操作,输出一行一个整数表示答案。
说明/提示
**【数据范围】**
数据保证:$1 \le N, M \le 10^5$,$|A_i| \le 10^9$,$1 \le l \le r \le N$,$|d| \le 10^4$。
在刚开始没有进行操作的情况下时间戳为 $0$,且保证 `B` 操作不会访问到未来的时间戳。
由 @bztMinamoto @yzy1 @BlackHoles 提供翻译。