90 #lg3919. C10C49【模板】可持久化线段树 1(可持久化数组)
C10C49【模板】可持久化线段树 1(可持久化数组)
P3919 【模板】可持久化线段树 1(可持久化数组)
题目描述
维护这一个长度为 的数组 ,有 次操作,操作如下两种:
-
v 1 p c,即为在版本 的基础上,将 修改为 。 -
v 2 p,即访问版本 中的 的值。
此外,每进行一次操作,就会生成一个新的版本。版本编号即为当前操作的编号(从 开始编号,版本 表示初始状态数组)。
对于操作 ,即为生成一个完全一样的版本,不作任何改动。即,询问生成的版本是询问所访问的那个版本的复制。
输入格式
第一行两个正整数 。
第二行 个整数,)。
接下来 行每行包含 或 个整数,代表两种操作之一。
输出格式
输出包含若干行,依次为每个操作 的结果。
输入输出样例 #1
输入 #1
5 10
59 46 14 87 41
0 2 1
0 1 1 14
0 1 1 57
0 1 1 88
4 2 4
0 2 5
0 2 4
4 2 1
2 2 2
1 1 5 91
输出 #1
59
87
41
87
88
46
说明/提示
数据规模
对于 的数据,。
对于 的数据,。
对于 的数据,。
对于 的数据:
- ;
- ;
- 设当前是第 次操作,;
- 。
样例说明
所有操作结束后,总共生成了 个版本,编号为 ,依次为:
版本 :59 46 14 87 41,
版本 :59 46 14 87 41,
版本 :14 46 14 87 41,
版本 :57 46 14 87 41,
版本 :88 46 14 87 41,
版本 :88 46 14 87 41,
版本 :59 46 14 87 41,
版本 :59 46 14 87 41,
版本 :88 46 14 87 41,
版本 :14 46 14 87 41,
版本 :59 46 14 87 91。