treap模版暂存。以后修改整理。#include#include#include
#includeusing namespace std;struct Node{ Node *ch[2];//左右子树 int
r;//优先级。数值越大,优先级越高 int v;//值 int...
分类:
其他好文 时间:
2014-05-30 01:45:16
阅读次数:
250
题目链接:点击打开链接
题意:有两种操作,合并集合,查询第K大集合的元素个数。(总操作次数为2*10^5)
Treap模板(静态数组)
#include
#include
#include
#include
#include
const int maxNode = 500000 + 100;
const int inf = 0x3f3f3f3f;
struct Tr...
分类:
其他好文 时间:
2014-05-24 23:18:09
阅读次数:
522
点击打开链接
题意:
集合S支持一下四种操作:
INSERT(S,x) : 如果S中没有x,则插入x
DELETE(S,x): 如果S中有x,则删除x
K-TH(S): 输出S中第K小的数
COUNT(S,x): 统计S中小于x的数有多少个
一共有Q(1 ≤ Q ≤ 200000)次操作。
Treap模板。。
#i...
分类:
其他好文 时间:
2014-05-24 18:03:11
阅读次数:
213
应一些人之邀。。。发一篇代码 1 #include 2 #include 3 #include 4
#include 5 6 using namespace std; 7 struct node 8 { 9 int data; 10 int key;
11...
分类:
其他好文 时间:
2014-05-23 05:17:06
阅读次数:
246
裸题,瞬秒。。
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
#define L(id) tree[id].ch[0]
#define R(id) tree[id].ch[1]
#define Size(id) tree[id].size
#...
分类:
其他好文 时间:
2014-05-15 22:52:51
阅读次数:
328
试了一下先上再下的Treap方式,很高兴,代码变短了,但是,跑的变慢了!!!其实慢得不多,5%左右。而且这个版本的写法不容易写错。。只要会一般可持久化Treap的人写着都不难。。。就是相对于(压行的)Splay还是长了点。。。
代码: 1 #include 2 #include 3 ...
分类:
其他好文 时间:
2014-05-12 20:56:42
阅读次数:
480
一直没有点动态树这个科技树,因为听说只能用Splay,用Treap的话多一个log。有一天脑洞大开,想到也许Treap也能从底向上Split。仔细思考了一下,发现翻转标记不好写,再仔细思考了一下,发现还是可以写的,只需要实时交换答案二元组里的两棵树,最后在吧提出来的访问节点放回去就行了。本着只学.....
分类:
其他好文 时间:
2014-05-11 22:56:42
阅读次数:
605