非旋转 Treap 模板

题目传送门: 洛谷 P3369LibreOJ #104BZOJ 3224

我们需要实现一种数据结构,实现以下操作。 1. 插入 $ x $ 数; 2. 删除 $ x $ 数(若有多个相同的数,因只删除一个); 3. 查询 $ x $ 数的排名(若有多个相同的数,因输出最小的排名); 4. 查询排名为 $ x $ 的数; 5. 求 $ x $ 的前趋(前趋定义为小于 $ x $,且最大的数); 6. 求 $ x $ 的后继(后继定义为大于 $ x $,且最小的数)。 继续阅读 »