SZTG#L#P3369. 【模板】普通平衡树

提交1 通过1
通过率100%
时间限制1000ms
内存限制128MiB

题目描述

【模板】普通平衡树

题目背景

本题存在数据加强版,见 P6136

题目描述

您需要动态地维护一个可重集合 MM,并且提供以下操作:

  1. MM 中插入一个数 xx
  2. MM 中删除一个数 xx。(若有多个相同的数,应只删除一个)
  3. 查询 MM 中有多少个数比 xx 小,并且将得到的答案加 11
  4. 查询如果将 MM 从小到大排列后,排名位于第 xx 位的数。
  5. 查询 MMxx 的前驱(定义为 MM 中小于 xx,且最大的数)。
  6. 查询 MMxx 的后继(定义为 MM 中大于 xx,且最小的数)。

对于操作 3,5,63,5,6不保证当前可重集中存在数 xx

对于操作 4,5,64,5,6,保证答案一定存在。

输入格式

第一行为 nn,表示操作的个数,下面 nn 行每行有两个数 opt\text{opt}xxopt\text{opt} 表示操作的序号(1opt6 1 \leq \text{opt} \leq 6 )。

输出格式

对于操作 3,4,5,63,4,5,6 每行输出一个数,表示对应答案。

输入样例 #1

10
1 106465
4 1
1 317721
1 460929
1 644985
1 84185
1 89851
6 81968
1 492737
5 493598

输出样例 #1

106465
84185
492737

说明/提示

输入样例 #2

10
1 106465
4 1
1 317721
1 460929
1 644985
1 84185
1 89851
6 81968
1 492737
5 493598

输出样例 #2

106465
84185
492737

输入样例 #3

10
1 106465
4 1
1 317721
1 460929
1 644985
1 84185
1 89851
6 81968
1 492737
5 493598

输出样例 #3

106465
84185
492737

【数据范围】

对于 100%100\% 的数据,1n1051\le n \le 10^5x107|x| \le 10^7

来源:Tyvj1728,原名:普通平衡树。

在此鸣谢!