treap
霜刃未曾试
这个作者很懒,什么都没留下…
展开
-
SPOJ ORDERSET Order statistic set 简单平衡树 或 树状数组
题目:http://www.spoj.com/problems/ORDERSET/en/题意:有下面四种操作:I x 往集合中插入x,若存在则不操作D x 从集合中删除x,若不存在则不操作K x 求集合中第x大的数,若x大于集合的大小输出invalidC x 统计集合中小于x的数的个数思路:简单的平衡树题目,用treap很容易实现,另外学了一波pb_ds试着用了一下 treap:#inc原创 2017-08-03 09:57:40 · 422 阅读 · 0 评论 -
POJ 1442 Black Box treap || 树状数组 || 优先队列
题目:http://poj.org/problem?id=1442题意:给定n和m,表示有n个数往集合中插入,和m个输出。接下来是要插入的n个数,再然后是m个查询,对于某个查询b[i],意思是等到往集合中插入b[i]个数后查询第i小的数思路用treap直接一个一个插入就好,然后直接查询第i小,这是平衡树的看家本领,代码如下:#include <iostream>#include <cstdio>原创 2017-08-03 20:36:06 · 356 阅读 · 0 评论 -
HYSBZ 3224 Tyvj 1728 普通平衡树 treap
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=3224题意:Description 您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作: 1. 插入x数 2. 删除x数(若有多个相同的数,因只删除一个) 3. 查询x数的排名(若有多个相同的数,因输出最小的排名) 4. 查询排名为x的数 5. 求x的前驱(前驱原创 2017-08-21 20:46:30 · 304 阅读 · 0 评论 -
POJ 3481 Double Queue SBT || treap
题目:http://poj.org/problem?id=3481题意:有一组操作,有如下三种: 0,结束操作 1 k p,把一个客户k加入到队列中,优先级为p 2, 把队列中优先级最高的客户取出来 3, 把队列中优先级最低的客户取出来用SBTreeSBTree和treaptreap写的 SBTree:SBTree:#include <iostream>#include <cstdio原创 2017-08-21 21:05:10 · 279 阅读 · 0 评论 -
SPOJ ORDERSET Order statistic set 非旋转treap
题目:https://vjudge.net/problem/SPOJ-ORDERSET题意:有下面四种操作:I x 往集合中插入x,若存在则不操作D x 从集合中删除x,若不存在则不操作K x 求集合中第x大的数,若x大于集合的大小输出invalidC x 统计集合中小于x的数的个数思路:非旋转版treap,主要操作是基于splitsplit和mergemerge#include <bit原创 2017-09-25 18:13:11 · 273 阅读 · 0 评论