左偏树模板【pascal】
2016-11-16 21:51
260 查看
var n,m,x,t,root,size:longint; i :longint; l,r,dis,key :array[0..1000010] of longint; procedure swap(var a,b:longint); var c:longint; begin c:=a;a:=b;b:=c; end; function combine(a,b:longint):longint; begin if (a=0) or (b=0) then exit(a+b); if (key[a]>key) then swap(a,b); r[a]:=combine(r[a],b); if (dis[l[a]]<dis[r[a]]) then swap(l[a],r[a]); dis[a]:=dis[r[a]]+1; exit(a); end; begin read(n); for i:=1 to n do begin read(t); if (t=1) then begin read(x); inc(size); key[size]:=x; root:=combine(root,size); end else if (t=2) then writeln(key[root]) else if (t=3) then root:=combine(l[root],r[root]); end; end.[b]——by Eirlys
相关文章推荐
- 算法模板——左偏树(可并堆)
- 带模板的左偏树
- bzoj 3223 splay模板 【pascal】
- 【bzoj1455】【罗马游戏】左偏树+并查集(模板)
- poj3177 tarjan缩点+割边 模板 【pascal】
- 左偏树(可并堆)模板
- [Luogu3377]【模板】左偏树(可并堆)
- 【洛谷P3377】【模板】左偏树(可并堆)
- ACM 左偏树(模板)
- luoguP3377 【模板】左偏树(可并堆)
- 欧拉函数模板 附hdu1286&poj 2407&hdu1787 &hdu2824 【pascal】
- 左偏树模板
- 【模板】左偏树
- HDU3031及左偏树模板
- pascal 解题模板(NOIP)
- bzoj 1500 splay 【终极模板】 【pascal】
- 斜堆——【模板】左偏树(可并堆)
- HDU - 3031 To Be Or Not To Be (左偏树模板)
- 判断负环 dfs-spfa 模板【pascal】
- 【左偏树(可并堆)模板】