左偏树模板
2017-07-16 09:00
405 查看
解析链接:http://www.cnblogs.com/skywang12345/p/3638327.html
struct Tree { int value; int dist; Tree *left,*right; }; Tree *tree[maxn]; int distance(Tree *t) { return t==NULl?0:t->dist; } void fixdist(Tree *t) { if(distance(t->left)<distance(t->right)) swap(t->right,t->left); t->dist=distance(t->right)+1; } Tree * merge(Tree *a,Tree *b) { if(a==NULL) return b; if(b==NULL) return a; if(b->value>a->value) swap(a,b); a->right=merge(a->right,b); fixdist(a); return a; } Tree *delMax(Tree *t) { if(t!=NULL) return merge(t->left,t->right); return NULL; } void init(Tree* &t,int val) { t=new Tree; t->dist=1; t->value=val; t->left=t->right=NULL; }
相关文章推荐
- 【bzoj1455】【罗马游戏】左偏树+并查集(模板)
- 左偏树(模板)
- 斜堆——【模板】左偏树(可并堆)
- COGS 526 又是一道模板题——左偏树
- 「模板」 左偏树 - 实现可并优先队列
- 【模板】左偏树 (模板题:洛谷P3377左偏树/可并堆)
- 【bzoj1455】【罗马游戏】左偏树+并查集(模板)
- 【左偏树(可并堆)模板】
- 左偏树(可并堆)模板
- HDU 1512 浅谈可并堆即左偏树模板及并查集灵活应用
- 【模板】左偏树
- 左偏树模板【pascal】
- 洛谷P3377 【模板】左偏树(可并堆)
- 【模板】左偏树(可并堆)
- 左偏树模板
- 模板 可并堆【洛谷P3377】 【模板】左偏树(可并堆)
- 左偏树,原理及模板
- 【模板】左偏树(可并堆)
- 左偏树/斜堆/可并堆-洛谷P3377 【模板】左偏树(可并堆)
- HDU3031及左偏树模板