3900: 持久化序列

内存限制:768 MB 时间限制:1.500 S
评测方式:文本比较 命题人:
提交:0 解决:0

题目描述

这是一道模板题。 您需要维护一个序列,其中需要提供以下操作: 1. 插入一个数到序列的第 $ t $ 版本使其成为序列的第 $ k $ 项,这个数为 $ x $ ; 2. 删除序列的第 $ t $ 版本的第 $ k $ 项; 3. 查询序列的第 $ t $ 版本的第 $ k $ 项。 第 $ 0 $ 个版本为空序列。修改操作不会影响被修改的版本,而总是产生一个新版本。

输入

第一行有一个正整数 $ n $ 表示操作的数量。 接下来 $ n $ 行每行第一个正整数 $ opt $ 表示操作的类型,后面有 $ 3 $ 个整数 $ t, k, x $ 或 $ 2 $ 个整数 $ t, k $ 表示操作的参数。

输出

对于每个查询操作输出一行一个数,表示查询的结果。

样例输入 复制

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

样例输出 复制

1
2
3
1
6
4

提示


数据范围: $ 1 \leq n \leq 3 \times 10^5, 1 \leq opt \leq 3, 0 \leq x < 10^9 $,保证所有操作合法。

来源/分类