splay
文章平均质量分 51
DancingZ
三秋桂子,十里荷花
展开
-
SDOI2007 超级数组
Description 一般的数组大家都经常使用,相信很多同学没有见过下面的超级数组。 超级数组存储的是一些正整数,它还支持下面的两个操作1.插入一个元素,命令是 "i key" 。 key 是要插入的数。2.输出第 k 大元素并删除该元素,命令是 "d k"。输出第 k 大元素并删除它。“第 k 大”是指:现有的数中,如果从小到大排好序,从最小的开始作为第一大算起,一直数到第 k...原创 2018-07-16 21:24:15 · 287 阅读 · 0 评论 -
HNOI2012 永无乡
题目链接:https://www.luogu.org/problemnew/show/P3224splay启发式合并模板,小splay往大splay插,感性理解,一个点最多插logn次,插一次logn,n个点,nlognlogn~#include<bits/stdc++.h>using namespace std;#define Inc(i,L,r) for(regist...原创 2018-08-25 15:03:49 · 233 阅读 · 0 评论 -
BZOJ4919 大根堆
Description给定一棵n个节点的有根树,编号依次为1到n,其中1号点为根节点。每个点有一个权值v_i。你需要将这棵树转化成一个大根堆。确切地说,你需要选择尽可能多的节点,满足大根堆的性质:对于任意两个点i,j,如果i在树上是j的祖先,那么v_i>v_j。请计算可选的最多的点数,注意这些点不必形成这棵树的一个连通子树。Input第一行包含一个正整数n(1<=n<...原创 2018-08-24 21:32:00 · 393 阅读 · 0 评论 -
BZOJ3196 二逼平衡树
Description您需要写一种数据结构(可参考题目标题),来维护一个有序数列,其中需要提供以下操作:1.查询 x在区间内的排名;2.查询区间内排名为 k 的值;3.修改某一位置上的数值;4.查询 x 在区间内的前趋(前趋定义为小于 x,且最大的数);5.查询 x 在区间内的后继(后继定义为大于 x,且最小的数)。Input第一行两个数 n,m,表示长度为 n 的有序序列和 m 个操...原创 2018-08-20 19:19:31 · 265 阅读 · 1 评论 -
POJ2104 区间第k大(带修改)
Description 给定一个长度为N的已知序列A[i](1<=i<=N),要求维护这个序列,能够支持以下两种操作: 1、查询A[i],A[i+1],A[i+2],…,A[j](1<=i<=j<=N)中,升序排列后排名第k的数。 2、修改A[i]的值为j。 所谓排名第k,指一些数按照升序排列后,第k位的数。例如序列{6,1,9,6,6},排名第3的...原创 2018-08-16 20:21:40 · 622 阅读 · 0 评论 -
跳跃的小怪兽——splay序列操作
Descriptionn个小怪兽站成一行跳来跳去。每次跳跃操作是以下两种形式之一:a L b:从左到右第a个小怪兽跳过它左边的b个小怪兽,然后落地。a D b:从左到右第a个小怪兽跳过它右边的b个小怪兽,然后落地。 小怪兽有身高差异,因此在跳跃时需要注意不要碰到其他小怪兽的头。具体来说,每次跳跃的高度等于越过的所有小怪兽的身高的最大值。 你的任务是计算出每次跳跃的高度。Inpu...原创 2018-07-19 10:01:18 · 346 阅读 · 0 评论 -
CQOI2014 排序机械臂
Description 为了把工厂中 高低不等的物品按从低到高排好序,工程师发明了一种排序机械臂。它遵循一个简单的排序规则,第一次操作找到最低的物品位置P1,并把从左起第1个至第P1个之间的物品反序;第二次找到第二低的物品的位置P2,并把左起第二个至第P2个之间的物品反序……最终所有的物品都会被排好序。 上图给出一个示例,第一次操作前,最低物品在位置4,于是把第1至第4...原创 2018-07-17 14:38:57 · 266 阅读 · 0 评论 -
BZOJ3223 文艺平衡树
Description 您需要写一种数据结构(可参考题目标题),来维护一个有序数列,其中需要提供以下操作:翻转一个区间,例如原有序序列是5 4 3 2 1,翻转区间是[2,4]的话,结果是5 2 3 4 1Input 第一行为n,m n表示初始序列有n个数,这个序列依次是(1,2……n-1,n) m表示翻转操作次数 接下来m行每行两个数[L,R] 数据保证 1<=L<...原创 2018-07-17 12:41:04 · 174 阅读 · 0 评论 -
splay单旋双旋对比
splay单双旋还挺有意思的,一直觉得单旋是ok的,但是感性画图分析了一波~单旋:直接旋转我自己双旋:先旋转我的父亲,再旋转我自己对于链结构,我们需要双旋,画图之后发现,我们采用双旋会至少压一层,而单旋则一直维持链式结构,显然单旋会被卡成O(n)其余的结构而言,单旋双旋并无多大区别,但需要注意的是,双旋也存在一种结构被卡,但卡成连后就会被压层,而单旋则可能一直被卡,因此均摊复杂度还...原创 2018-06-15 21:40:15 · 1214 阅读 · 0 评论 -
BZOJ3224 普通平衡树
Description您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作:1. 插入x数2. 删除x数(若有多个相同的数,因只删除一个)3. 查询x数的排名(若有多个相同的数,因输出最小的排名)4. 查询排名为x的数5. 求x的前驱(前驱定义为小于x,且最大的数)6. 求x的后继(后继定义为大于x,且最小的数)Input 第一行为n,表示操作的个数...原创 2018-07-16 18:46:35 · 132 阅读 · 0 评论 -
HNOI2004 宠物收养所
Description最近,阿Q开了一间宠物收养所。收养所提供两种服务:收养被主人遗弃的宠物和让新的主人领养这些宠物。 每个领养者都希望领养到自己满意的宠物,阿Q根据领养者的要求通过他自己发明的一个特殊的公式,得出该领养者希望领养的宠物的特点值a(a是一个正整数,a<2^31),而他也给每个处在收养所的宠物一个特点值。这样他就能够很方便的处理整个领养宠物的过程了,宠物收养所总是会有...原创 2018-07-16 19:59:03 · 185 阅读 · 0 评论 -
JSOI2008 火星人
Description【问题描述】: 火星人最近研究了一种操作:求一个字串两个后缀的公共前缀。比方说,有这样一个字符串:madamimadam,我们将这个字符串的各个字符予以标号:序号 1 2 3 4 5 6 7 8 9 10 11字符 m a d a m i m a d a m 现在,火星人定义了一个函数LCQ(x, y),表示:该字符串中第x个字符开始的字串,与该字符串中第y个...原创 2018-09-18 21:33:16 · 332 阅读 · 0 评论