【模板】左偏树
来源:互联网 发布:java 设置特定时间 编辑:程序博客网 时间:2024/06/05 03:10
最常见,同时也是最好写的可并堆
参考博客:左偏树-总结
很久之前写的,请见谅
#include<cstdio>#include<algorithm>using namespace std;const int maxn=100005;struct node{ int l,r,x,d,id; node(int key=0,int i=0) {l=r=d=0;x=key;id=i;} bool operator<(const node&b){ return x<b.x||x==b.x&&id<b.id; }}tre[maxn];int n,q,fa[maxn];bool vis[maxn];inline int red(){ int tot=0,f=1;char ch=getchar(); while (ch<'0'||'9'<ch) {if (ch=='-') f=-f;ch=getchar();} while ('0'<=ch&&ch<='9') tot=tot*10+ch-48,ch=getchar(); return tot*f;}int getfa(int x){ if (fa[x]==x) return x; return fa[x]=getfa(fa[x]);}int merge(int a,int b){ if (!a||!b) return a+b; if (tre[b]<tre[a]) swap(a,b); tre[a].r=merge(tre[a].r,b); if (tre[tre[a].l].d<tre[tre[a].r].d) swap(tre[a].l,tre[a].r); if (!tre[a].r) tre[a].d=0;else tre[a].d=tre[a].r+1; return a;}int main(){ //do something... return 0;}
阅读全文
3 0
- 左偏树 模板
- 左偏树模板
- 左偏树模板
- 【模板】左偏树
- 左偏树模板
- 左偏树 模板
- ACM 左偏树(模板)
- HDU3031及左偏树模板
- 左偏树,原理及模板
- 回味左偏树(模板)
- 「模板」 左偏树
- 带模板的左偏树
- 模板
- 模板?
- 模板
- 模板
- 模板
- 模板
- angular2父子组件的数据传递,父组件向子组件传递数据
- 异常信息:Exception in thread "main" java.lang.UnsupportedClassVersionError: com/mysql/jdbc/Driver
- codeforces 617 E. XOR and Favorite Number(莫队)
- 倍增新姿势
- 1842: 手机话费
- 【模板】左偏树
- 第一章 Linux系统入门
- 52 C语言关系运算符
- 备忘 :android studio 快捷键大全
- jdbc中PrepareStatement与Statement的优点
- 通过CGI实现在Web页面上执行shell命令
- Oracle的分页查询两种形式
- 初学类加载器
- ARM NEON常用函数总结