treap入门题。。
2017-08-22 14:24
127 查看
参考http://blog.csdn.net/u013480600/article/details/24379341
POJ 3481 Double Queue(Treap)http://poj.org/problem?id=3481
题意:
每个顾客有个编号和优先级,银行每次可以添加顾客的要求进队列,且保证队列中当前任意顾客的编号和优先级都不同.银行可以执行先服务最大优先级的顾客或者先服务最小优先级的顾客操作.对于每个服务,输出顾客的编号.
分析:
直接构建Treap,插入节点的v值(顾客优先级)和节点的r值(随机函数rand获得)以及节点信息info(顾客编号),然后对于每个操作,先find找到最大v值的节点信息info,然后在delete即可.
———-
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和集合S2合并,就在Treap中删除V=|S1|的节点并删除V=|S2|的节点.并插入V=|S1|+|S2|的节点.(注意如果|S1|==1,不用删除,因为Treap只保存了合并之后的组大小)
相关文章推荐
- 数据结构入门1—Treap
- Treap入门题
- poj 1442 Black Box (treap树入门题)
- treap入门
- Treap入门笔记
- poj2761(treap入门)
- 无旋Treap——从入门到放弃
- POJ 1442 (treap 求出名次入门)
- poj3481double queue【treap树入门题】
- Treap入门题
- Treap入门(转自NOCOW)
- UVA 12538 可持久化treap入门
- Treap入门(转自NOCOW)
- [您有新的未分配科技点]无旋treap:从好奇到入门(例题:bzoj3224 普通平衡树)
- 非诚勿扰 - HDU 4557 - Treap入门
- 旋转还是无旋?treap从入门到想死
- 无旋treap:从好奇到入门(例题:bzoj3224 普通平衡树)
- C++面向对象编程入门:构造函数与析构函数
- opengl入门学习
- Hibernate 入门