100 #P1447. *【可持久化线段树】可持久化线段树[SPOJ11470]TTM - To the moon

*【可持久化线段树】可持久化线段树[SPOJ11470]TTM - To the moon

SP11470 TTM - To the moon(输入格式有改动)

题目描述

一个长度为 NN 的数组 {A}\{A\}44 种操作 :

  • 1 l r d:区间 [l,r][l,r] 中的数都加 dd ,同时当前的时间戳加 11

  • 2 l r:查询当前时间戳区间 [l,r][l,r] 中所有数的和 。

  • 3 l r t:查询时间戳 tt 区间 [l,r][l,r] 的和 。

  • 4 t:将当前时间戳置为 tt

所有操作均合法 。

ps:刚开始时时间戳为 00

输入格式

输出格式

数据保证:1N,M1051\le N,M\le 10^5Ai109|A_i|\le 10^91lrN1\le l \le r \le Nd104|d|\le10^4。在刚开始没有进行操作的情况下时间戳为 00,且保证 4 操作不会访问到未来的时间戳。

【样例输入】

10 5
1 2 3 4 5 6 7 8 9 10
2 4 4
2 1 10
2 2 4
1 3 6 3
2 2 4

【样例输出】

4
55
9
15

【样例输入 #2】

2 4
0 0
1 1 1 1
1 2 2 -1
2 1 2
3 1 2 1

【样例输出 #2】

0
1