【模板】可持续化线段树 1
题目描述
《去月球》是 \(2011\) 年 \(11\) 月发布的一款独立游戏,是一款角色扮演冒险游戏,由 \(\text{RPG~Maker}\)制造商提供支持。
登月的前提是基于一项技术,这项技术允许我们永久性地重建对垂死的人的记忆。在这个问题中,我们将给您一个机会,实现幕后的逻辑。
一个长度为 \(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\),接下来 \(M\) 行每行一个操作
输出格式:对每个查询输出一行表示答案
格式
输入格式
输入第 \(1\) 行 \(N,M\),表示 \(N\) 个数,\(M\) 个询问;
输入第 \(2\) 行为 \(N\) 个数 \(A[i]\);
接下来是 \(M\) 个操作,如题意所述。
输出格式
针对每个询问输出相应的值。
样例1
样例输入1
10 5
1 2 3 4 5 6 7 8 9 10
Q 4 4
Q 1 10
Q 2 4
C 3 6 3
Q 2 4
样例输出1
4
55
9
15
限制
数据保证:\(1\le N,M\le 10^5\),\(|A_i|\le 10^9\),\(1\le l \le r \le N\),\(|d|\le10^4\)。在刚开始没有进行操作的情况下时间戳为 \(0\),且保证 B
操作不会访问到未来的时间戳。