平衡树
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 · 282 阅读 · 0 评论 -
bzoj3223区间翻转
本着碰到平衡树都用可持久化treap的原则,找到了一个写的比较短的而且不用深坑的指针的写法,感觉写得还不错。#include#include#include#define N 200005#define mp make_pair#define pa pairusing namespace std;struct treap{int val,ls,rs,sz,key,flip;}t[转载 2016-06-23 20:24:40 · 249 阅读 · 0 评论 -
bzoj1552
其实原意是找一道区间翻转练练rope操作的、但是开起来发现rope好像做不了。。。只好用一用多年不写的splay了。wa了一天。。。各种标记下传出错误。日日日最终惨烈的写完了、常数巨大。#include #include #include #include #include #include #include #include #include原创 2016-09-01 19:01:22 · 211 阅读 · 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 · 309 阅读 · 0 评论 -
bzoj2209
很神的一道题。感觉自己并想不到#include#include#include#includeusing 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 · 243 阅读 · 0 评论