随笔分类 - SPLAY
摘要:题目大意: 有一些员工 他们有工资 当他们的工资低于一个值时 他们会永远离开 I命令 I_k 新建一个工资档案,初始工资为k。 如果某员工的初始工资低于工资下界,他将立刻离开公司。 A命令 A_k 把每位员工的工资加上k S命令 S_k 把每位员工的工资扣除k F命令 F_k 查询第k多的工资 支持
阅读全文
摘要:题目大意: 一颗树 有一个点的集合 对于每个集合的答案为 从集合内一个点遍历集合内所有点再返回的距离最小值 每次可以选择一个点 若在集合外便加入集合 若在集合内就删除 求每次操作后这个集合的答案 思路: 对于每个集合 它的答案一定为从dfs序最小的开始依次遍历再回来 当加入一个点x的时候 可以找到它
阅读全文
摘要:题目大意: 维护一个有序数列,其中需要提供以下操作:翻转一个区间,例如原有序序列是5 4 3 2 1,翻转区间是[2,4]的话,结果是5 2 3 4 1 思路: splay 区间操作 %%%棒神 1 #include<iostream> 2 #include<cstdio> 3 #include<c
阅读全文
摘要:题目大意: 您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作: 1. 插入x数 2. 删除x数(若有多个相同的数,因只删除一个) 3. 查询x数的排名(若有多个相同的数,因输出最小的排名) 4. 查询排名为x的数 5. 求x的前驱(前驱定义为小于x,且最大的数) 6. 求x
阅读全文
摘要:题目大意: 有一家宠物收养所,有没有被收养的宠物或者是想收养宠物的人,每个宠物有一个个性值,每个想收养宠物的人有一个理想的个性值 每一个时刻,宠物收养所里只能有想收养宠物的人或宠物 当人领走宠物时,就会有一个不满意度 这个领养者的不满意程度为abs(a-b) 若存在两只宠物他们的特点值分别为a-b和
阅读全文
摘要:题目大意: 一些数,依次加进去,每次加进去一个数a之前 在已经加进去的数找一个数k 使|k-a|最小,求这个最小值 思路: 用splay维护已经加进去的数 每次查询时查询它的前驱与后继 求出最小值 并把它splay到根节点上去(使它的前驱和后继分别在它的左子树和右子树里) 1 #include<io
阅读全文

浙公网安备 33010602011771号