随笔分类 - 平衡树
摘要:Treap树 核心是 利用随机数的二叉排序树的各种操作复杂度平均为O(lgn)Treap模板:#include #include #include #include #include #include #include #include #include #include #include #in...
阅读全文
摘要:第三次做此题。。不解释啦。不过变成用SBT来做啦!SBT好处在于能够保证树的高度为lgn,真真正正的平衡二叉树。因此删除,插入操作与普通二叉树几乎相同。#include #include #include #include #include #include #include #include #i...
阅读全文
摘要:往事不堪回首。。这个题目花了2天时间才A了。思路照搬SnowyJone大牛:http://www.cnblogs.com/w007878/p/3453023.html Orz。。此处可找到数据:http://tieba.baidu.com/p/1217076472真是虐心的两天,整个人都瘦了。。当然...
阅读全文
摘要:评测地点:http://www.lydsy.com/JudgeOnline/problem.php?id=1588简单题,splay题意: 按顺序给出一些数,找出距离当前数最近的数的差,将这些差求和即可。#include #include #include #include #include #i...
阅读全文
摘要:最后撸一发splay。之前用treap撸的,现在splay也找到感觉了,果然不同凡响,两者之间差别与精妙之处各有其精髓!真心赞一个!POJ平衡树的题目还是比较少,只能挑之前做过的捏一捏。但是收获很多,这一天做的题都是有一定普遍性的。#include #include #include #includ...
阅读全文
摘要:前几天用treap写了这一题,不过treap支持的操作不如splay的多,作为一个完美主义者,重新用splay写了这一题。splay大部分操作可以通过强大到无与伦比的数据结构splay-tree然后根据其中步骤写出来。一定要注意的一点:几乎所有操作的背后,都要splay(x, 0)一下。一开始我还以...
阅读全文
摘要:这是我综合poj1442 3481 2352的treap操作 得到treap完全版模板。(经测AC)结构体Tree{ int key; //键值 int size; //该子树总节点个数 int pri; //其随机值 int son[2]; //从nocow一份代码中学来的,0表示左儿子,...
阅读全文
摘要:当年经常遇到这种题,愣是没做出来,好像那时不会线段树,也不会平衡树。凭借一身蛮力来搞,倒是和那群朋友搞得开开心心。题意: y从小到大,若y相同,x从小到大,这样给出一些坐标,求每个点覆盖的点个数。题解: 每次只需计算小于等于当前x值得个数有多少即可。 可用线段树或平衡树做,现在平衡树treap...
阅读全文
摘要:裸treap。只需增加一个size记录其儿子个数便可找到第k大数。#include #include #include #include #include #include #include #include #include #include #include #include #define m...
阅读全文
摘要:这是利用treap写的二叉排序树,只要理解其中旋转能够改变树的左右子树平衡度,即高度之差,差不多就能掌握treap树的要领了。相对于其他高级BST,treap树实现应该算最简单了,利用的是随机树产生的理论的二叉排序树时间复杂度为O(nlgn)来实现,具体证明 算法导论 中有。推荐NOCOW中的讲解,...
阅读全文