随笔分类 -  平衡树

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