https://www.luogu.com.cn/problem/P3369
您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作:
- 插入 x 数
- 删除 x 数(若有多个相同的数,因只删除一个)
- 查询 x 数的排名(排名定义为比当前数小的数的个数 +1 )
- 查询排名为 x 的数
- 求 x 的前驱(前驱定义为小于 x,且最大的数)
- 求 x 的后继(后继定义为大于 x,且最小的数)
第一行为 n,表示操作的个数,下面 n 行每行有两个数 opt 和 x,opt 表示操作的序号( 1≤opt≤6 )
对于操作 3,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% 的数据,1≤n≤105,∣x∣≤107
来源:Tyvj1728 原名:普通平衡树
在此鸣谢
https://www.luogu.com.cn/problem/P3835
本题为题目 普通平衡树 的可持久化加强版。
数据已经经过强化
感谢@Kelin 提供的一组hack数据
您需要写一种数据结构(可参考题目标题),来维护一个可重整数集合,其中需要提供以下操作( 对于各个以往的历史版本 ):
1、 插入 x
2、 删除 x(若有多个相同的数,应只删除一个,如果没有请忽略该操作)
3、 查询 x 的排名(排名定义为比当前数小的数的个数 +1)
4、查询排名为 x 的数
5、 求 x 的前驱(前驱定义为小于 x,且最大的数,如不存在输出 −231+1 )
6、求 x 的后继(后继定义为大于 x,且最小的数,如不存在输出 231−1 )
和原本平衡树不同的一点是,每一次的任何操作都是基于某一个历史版本,同时生成一个新的版本。(操作3, 4, 5, 6即保持原版本无变化)
每个版本的编号即为操作的序号(版本0即为初始状态,空树)
第一行包含一个正整数 n ,表示操作的总数。
接下来 n 行,每行包含三个整数,第 i 行记为 vi,opti,xi。
vi 表示基于的过去版本号,opti 表示操作的序号, xi 表示参与操作的数值
每行包含一个整数,依次为各个 3,4,5,6 操作所对应的答案
10
0 1 9
1 1 3
1 1 10
2 4 2
3 3 9
3 1 2
6 4 1
6 2 9
8 6 3
4 5 8
9
1
2
10
3
【数据范围】
对于 28% 的数据,1≤n≤10;
对于 44% 的数据,1≤n≤2×102;
对于 60% 的数据, 1≤n≤3×103;
对于 84% 的数据, 1≤n≤105;
对于 92% 的数据, 1≤n≤2×105;
对于 100% 的数据, 1≤n≤5×105 , ∣xi∣≤109,0≤vi<i,1≤opt≤6。
经实测,正常常数的可持久化平衡树均可通过,请各位放心
样例说明:
共 10 次操作,11 个版本,各版本的状况依次是:
-
[]
-
[9]
-
[3,9]
-
[9,10]
-
[3,9]
-
[9,10]
-
[2,9,10]
-
[2,9,10]
-
[2,10]
-
[2,10]
-
[3,9]
https://www.luogu.com.cn/problem/P6136
本题是 P3369 数据加强版,扩大数据范围并增加了强制在线。
题目的输入、输出和原题略有不同,但需要支持的操作相同。
您需要写一种数据结构(可参考题目标题),来维护一些整数,其中需要提供以下操作:
- 插入一个整数 x。
- 删除一个整数 x(若有多个相同的数,只删除一个)。
- 查询整数 x 的排名(排名定义为比当前数小的数的个数 +1)。
- 查询排名为 x 的数(如果不存在,则认为是排名小于 x 的最大数。保证 x 不会超过当前数据结构中数的总数)。
- 求 x 的前驱(前驱定义为小于 x,且最大的数)。
- 求 x 的后继(后继定义为大于 x,且最小的数)。
本题强制在线,保证所有操作合法(操作 2 保证存在至少一个 x,操作 4,5,6 保证存在答案)。
第一行两个正整数 n,m,表示初始数的个数和操作的个数。
第二行 n 个整数 a1,a2,a3,…,an,表示初始的数。
接下来 m 行,每行有两个整数 opt 和 x′,opt 表示操作的序号(1≤opt≤6),x′ 表示加密后的操作数。
我们记 last 表示上一次 3,4,5,6 操作的答案,则每次操作的 x′ 都要异或上 last 才是真实的 x。初始 last 为 0。
输出一行一个整数,表示所有 3,4,5,6 操作的答案的异或和。
6 7
1 1 4 5 1 4
2 1
1 9
4 1
5 8
3 13
6 7
1 4
6
样例解释
样例加密前为:
6 7
1 1 4 5 1 4
2 1
1 9
4 1
5 9
3 8
6 1
1 0
限制与约定
对于 100% 的数据,1≤n≤105,1≤m≤106,0≤ai,x<230。
本题输入数据较大,请使用较快的读入方式。