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

【模板】普通平衡树

题目描述

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

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

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

输入格式

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

输出格式

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

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

提示

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

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

在此鸣谢