北京培训记day5
Posted Czarina
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了北京培训记day5相关的知识,希望对你有一定的参考价值。
高级数据结构
一、左偏树&斜堆
合并,插入,删除
打标记
struct Node { int fa,l,r,w,dep } tree[Mx]; int Merge(int k1,int k2)//返回值为根节点 { if(k1==0||k2==0) return k1+k2; if(k1.val<k2.val) swap(k1,k2); tree[k1].r=Merge(tree[k1].r,k2); tree[tree[k1].r].fa=k1; if(tree[tree[k1].l].dep<tree[tree[k1].r].dep) swap(tree[k1].l,tree[k1].r); if(tree[k1].r==0) tree[k1].dep=0; else tree[k1].dep=tree[tree[k1].r].dep+1; return k1; }
二、线段树
建树,修改,查询,lazy标记
主席树,可持久化线段树
//zkw线段树
例:bzoj1146
bzoj2653
三、平衡树
旋转:splay
treap
笛卡尔树
后缀平衡树
重建:替罪羊树
四、树套树
线段树套线段树
线段树套平衡树 (区间第k小)
树状数组套主席树
替罪羊树套主席树
分裂合并:FHQ treap
以上是关于北京培训记day5的主要内容,如果未能解决你的问题,请参考以下文章