8918: 持久化序列
[Creator : ]
Description
这是一道模板题。
您需要维护一个序列,其中需要提供以下操作:
您需要维护一个序列,其中需要提供以下操作:
- 插入一个数到序列的第 t 版本使其成为序列的第 k 项,这个数为 x ;
- 删除序列的第 t 版本的第 k 项;
- 查询序列的第 t 版本的第 k 项。
Input
第一行有一个正整数 n 表示操作的数量。
接下来 n 行每行第一个正整数 opt 表示操作的类型,后面有 3 个整数 t, k, x 或 2 个整数 t, k 表示操作的参数。
接下来 n 行每行第一个正整数 opt 表示操作的类型,后面有 3 个整数 t, k, x 或 2 个整数 t, k 表示操作的参数。
Output
对于每个查询操作输出一行一个数,表示查询的结果。
Constraints
$1 \leq n \leq 3 \times 10^5, 1 \leq opt \leq 3, 0 \leq x < 10^9$,保证所有操作合法。
Sample 1 Input
17
1 0 1 1
1 1 1 2
1 2 1 3
2 3 2
3 4 2
1 4 3 4
1 5 1 5
3 3 2
1 3 4 6
1 6 3 7
1 7 1 8
3 8 2
3 7 3
2 8 4
2 9 2
3 11 4
3 10 4
Sample 1 Output
1
2
3
1
6
4
每次操作后的序列如下
1 | 1 2 | 2 1 3 | 3 2 1 4 | 3 1 (=> 1) 5 | 3 1 4 6 | 5 3 1 4 (=> 2) 7 | 3 2 1 6 8 | 5 3 7 1 4 9 | 8 3 2 1 6 (=> 3) (=> 1) 10 | 5 3 7 4 11 | 8 2 1 6 (=> 6) (=> 4)