题解: 我们发现,今天的波动=min(x-pre,nxt-x) 所以可以维护一颗平衡树 模板前驱后继即可 代码: ...
分类:
其他好文 时间:
2017-11-21 19:47:55
阅读次数:
177
Splay查前驱后继 小tips:在bzoj上while(scanf)这种东西可以让程序多组数据一起跑 反正没加我就t了 ...
分类:
其他好文 时间:
2017-11-03 21:47:53
阅读次数:
131
SET函数的基本用法 by hhl 使用set的好处 1. 当增加元素后,集合会自动删重并从小到大排列(时间比快排还快)2. 相当于一棵伸展树(能快速求出前驱后继) 使用基础 例题 题目:输入n个数,输出一个无重复从小到大的集合。输入:第一行输入n,第二行输入n个数(a[1],a[2]….a[n]) ...
分类:
其他好文 时间:
2017-10-06 11:33:05
阅读次数:
181
带修改的 HH的项链。 带修改考虑用BIT套主席树,查区间里有几个不同的数用a[i]上次出现的位置pre[i]<l的数有几个来算就好了。 考虑怎么修改。修改i的时候,我们需要改变i同颜色的后继的pre,加入新的颜色,并且找到i在新颜色中的前驱后继,更改自己的pre和在新颜色中后继的pre,于是用一个 ...
分类:
其他好文 时间:
2017-10-03 18:11:28
阅读次数:
153
栈(stack)是限定仅在表尾进行插入和删除操作的线性表,允许插入和删除的一端称为栈顶(top),另一端称为栈底(bottom),不含任何数据元素的栈称为空栈。 栈又称为后进先出(LastIn First Out)的线性表,简称LIFO结构。 栈元素具有线性关系,即前驱后继关系。只不过它是一种特殊的 ...
分类:
其他好文 时间:
2017-09-17 13:45:10
阅读次数:
208
Problem 普通平衡树 Solution 本题是裸的二叉平衡树。有很多种方法可以实现。这里打的是替罪羊树模板。 此题极其恶心。 前驱后继模块需要利用到rank模块来换一种思路求。 很多细节的地方容易炸。我拿数据调了很久才A。 (delt()删除模块其实是不需要重建的,不影响时间复杂度) 替罪羊树 ...
分类:
其他好文 时间:
2017-07-09 10:39:32
阅读次数:
150
Day1 4825: [Hnoi2017]单旋 注意到二叉查找树的一个性质:其中序遍历就是所有元素按权值排序的顺序。 所以我们可以离线地把这棵树的中序遍历求出来。然后我们在插入的时候就可以用一个set来维护前驱后继,这样就可以维护出整棵树的形态。 接着我们发现将最大、最小单旋到根后,一定会有一边儿子 ...
分类:
其他好文 时间:
2017-06-25 17:04:24
阅读次数:
485
(其实今天好热啊? 题目大意:插入,删除,k小,前驱后继,数的排名。 splay和treap裸题...过几天补个treap的 splay: #include<iostream> #include<cstdlib> #include<cstring> #include<cstdio> using na ...
分类:
其他好文 时间:
2017-05-11 00:18:45
阅读次数:
212
1208 思路: 一棵splay树; 如果来者是宠物且树空,就将其加入树中; 如果树不空,则查找前驱后继,取最优,然后删点; 对人亦然; 注意边界和取模,最后的ans用long long其余用int即可; 来,上代码: ...
分类:
其他好文 时间:
2017-04-16 21:37:14
阅读次数:
227
例题:HNOI2012 营业额统计 http://www.cnblogs.com/TheRoadToTheGold/p/6372009.html ...
分类:
其他好文 时间:
2017-04-14 09:29:10
阅读次数:
199