平衡树
sun.strick
这个作者很懒,什么都没留下…
展开
-
可持久化treap 模版
#include #include #include #include #include using namespace std; #define rep(i,x,y) for(int i=x;i<=y;++i) #define dep(i,x,y) for(int i=x;i>=y;--i) struct Treap {Treap *l,*r; int fix,key,size; Tr转载 2016-06-21 22:41:39 · 267 阅读 · 0 评论 -
bzoj3223区间翻转
本着碰到平衡树都用可持久化treap的原则,找到了一个写的比较短的而且不用深坑的指针的写法,感觉写得还不错。 #include #include #include #define N 200005 #define mp make_pair #define pa pair using namespace std; struct treap{int val,ls,rs,sz,key,flip;}t[转载 2016-06-23 20:24:40 · 215 阅读 · 0 评论 -
bzoj1552
其实原意是找一道区间翻转练练rope操作的、但是开起来发现rope好像做不了。。。只好用一用多年不写的splay了。wa了一天。。。各种标记下传出错误。日日日最终惨烈的写完了、常数巨大。#include #include #include #include #include #include #include #include #include原创 2016-09-01 19:01:22 · 198 阅读 · 0 评论 -
bzoj1251
splay大模板题。。。调了好久。。。简直智障 #include #include #define inf 0x7fffffff #define Abs(x) ((x) > 0 ? (x) : (-(x))) #define forup(i,a,b) for(int i=(a);i<=(b);i++) #define fordown(i,a,b) for(int i=(a);i>=(b)原创 2016-09-03 12:35:45 · 292 阅读 · 0 评论 -
bzoj2209
很神的一道题。感觉自己并想不到#include #include #include #include using namespace std; #define l(x) c[x][0] #define r(x) c[x][1] #define maxr(x) Max[x][1] #define minl(x) Min[x][0] #define f(x) fa[x] const int MAXN转载 2016-09-03 15:05:52 · 229 阅读 · 0 评论