
平衡树
文章平均质量分 58
无
lwz_159
原acmer(已退役)
展开
-
P2596 [ZJOI2006]书架(Splay)
题目描述小 T 有一个很大的书柜。这个书柜的构造有些独特,即书柜里的书是从上至下堆放成一列。她用 1 到 n 的正整数给每本书都编了号。小 T 在看书的时候,每次取出一本书,看完后放回书柜然后再拿下一本。由于这些书太有吸引力了,所以她看完后常常会忘记原来是放在书柜的什么位置。不过小 T 的记忆力是非常好的,所以每次放书的时候至少能够将那本书放在拿出来时的位置附近,比如说她拿的时候这本书上面有 x 本书,那么放回去时这本书上面就只可能有 x−1、x 或 x+1 本书。当然也有特殊情况,比如在看书的时候原创 2021-04-08 16:27:46 · 286 阅读 · 0 评论 -
Splay(splay模板)
题目描述给定一个长度为 n 的整数序列,初始时序列为 {1,2,…,n−1,n}。序列中的位置从左到右依次标号为 1∼n。我们用 [l,r] 来表示从位置 l 到位置 r 之间(包括两端点)的所有数字构成的子序列。现在要对该序列进行 m 次操作,每次操作选定一个子序列 [l,r],并将该子序列中的所有数字进行翻转。例如,对于现有序列 1 3 2 4 6 5 7,如果某次操作选定翻转子序列为 [3,6],那么经过这次操作后序列变为 1 3 5 6 4 2 7。请你求出经过 m 次操作后的序列。原创 2021-04-08 16:23:25 · 449 阅读 · 0 评论 -
一道平衡树的题目
要你维护一个集合,集合里面的元素为二元组(x,y)。支持如下操作:Insert,x0,y0, 插入一个元素(x0,y0)。Delete,x0 ,删除所有x值为x0的元素。Querymin1,查询所有元素中x值最小的元素。Querymin2,查询所有元素中y值最小的元素。Query1,x0,查询集合中是否有x值为x0的元素。Query2,x0,查询集合中x值大于等于x0的第一个元素(不存在的话输出"-1")。Query3,x0,查询x值小于等于x0的所有元素中y值的最小值(不存在的话输出".原创 2020-08-07 23:14:07 · 366 阅读 · 2 评论 -
普通平衡树(Treap模板题)
题目描述您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作:插入数值x。删除数值x(若有多个相同的数,应只删除一个)。查询数值x的排名(若有多个相同的数,应输出最小的排名)。查询排名为x的数值。求数值x的前驱(前驱定义为小于x的最大的数)。求数值x的后继(后继定义为大于x的最小的数)。注意: 数据保证查询的结果一定存在。输入格式第一行为n,表示操作的个数。接下来n行每行有两个数opt和x,opt表示操作的序号(1<=opt<=6)。输出原创 2020-08-07 22:26:15 · 627 阅读 · 0 评论