@ruanxingzhi
2017-10-22T23:35:04.000000Z
字数 534
阅读 2109
现有一序列。您需要实现一棵可持久化线段树,用于实现如下操作:
A v p x
:对于版本v
的序列,给增加.Q v l r
:对于版本v
的序列,询问的区间和。C v
:拷贝一份版本v
的序列,编号为当前版本总数+1
.注意版本号从开始;版本的序列,所有元素均为.
第一行,两个正整数,表示序列的长度和操作个数。
接下来行,每行一个操作,格式如题目描述
所述。
保证任何输入的数都是正整数。
对于每一个Q
操作,输出一行一个整数,表示对应的区间和。
样例输入
5 5
A 1 2 3
Q 1 1 4
C 1
A 2 3 2
Q 2 1 4
样例输出
3
5
解释
第一次操作后,版本1
的序列为:0 3 0 0 0
.
第二次操作询问版本1
的区间和,答案为.
第三次操作将版本1
的序列复制到版本2
.
第四次操作后,版本2
的序列为:0 3 2 0 0
.
第五次操作询问版本2
的区间和,答案为.
对于的数据,有.
对于的数据,有.
对于的数据,有.