
数据结构--Treap
focus_best
这个作者很懒,什么都没留下…
展开
-
POJ 1442 Black Box(Treap)
POJ 1442 Black Box(Treap)http://poj.org/problem?id=1442题意:有一个数据结构支持两种操作A与Get操作,其中A x表示插入x. Get i表示返回结构中的第i小的数.给你A和Get操作的顺序和参数,现在要你对每个Get输出值.分析:其实就是名次树的简单应用而已.且原题中还保证了每个Get都能获得合法的数.POJ好多BUG啊,原创 2014-04-22 12:22:02 · 2048 阅读 · 5 评论 -
POJ 3481 Double Queue(Treap)
POJ 3481 Double Queue(Treap)http://poj.org/problem?id=3481题意:每个顾客有个编号和优先级,银行每次可以添加顾客的要求进队列,且保证队列中当前任意顾客的编号和优先级都不同.银行可以执行先服务最大优先级的顾客或者先服务最小优先级的顾客操作.对于每个服务,输出顾客的编号.分析:直接构建Treap,插入节点的v值(顾客优先级)和节点的r原创 2014-04-23 17:38:58 · 3007 阅读 · 0 评论 -
POJ 2761 Feed the dogs(Treap名次树+离线处理)
POJ 2761 Feed the dogs(Treap名次树+离线处理)http://poj.org/problem?id=2761题意:给你N个数,然后要你对下面M个查询回答:L,R,K.回答第L个数到第R个数之间的第K小数的值是多少.分析: 注意:题目说明中说了没有任何两个区间存在包含关系.这句话告诉我们如果将所有查询区间按L从小到大排序的话,相邻两个区间有这样的原创 2014-04-24 11:39:21 · 2374 阅读 · 0 评论 -
POJ 2985 The k-th LargestGroup(Treap+并查集)
POJ 2985 The k-th LargestGroup(Treap+并查集)http://poj.org/problem?id=2985题意:有N只猫,开始每只猫都是一个小组,下面要执行M个操作,操作0 i j 是把i猫和j猫所属的小组合并,操作1 k 是问你当前第k大的小组大小是多少. 且k分析:用并查集维护每只猫所属的集合,且维护集合中的节点数.然后假设集合S1和集合原创 2014-04-24 11:40:57 · 1874 阅读 · 1 评论 -
Treap
Treap Treap是一种动态平衡的BST(Binary Search Tree),它每个节点拥有键值和优先级两种属性。对于键值而言,它是一颗排序二叉树。对于优先级而言,这棵树是堆(优先级最高的是根节点)。可以证明Treap中插入,删除和查找的期望时间复杂度均为O(logn)。关于Treap的更多介绍,可见刘汝佳《训练指南》P230。一般我们用Treap就是用来替代平衡二叉原创 2015-03-31 14:37:40 · 2817 阅读 · 0 评论