数据结构-平衡树
AcerMo
一只辣鸡大学生
展开
-
P3369 平衡树treap模板
第一次学,调了两天一个操作一个操作的讲插入,这个没啥好说的,将一个点插入树中,定义一个insert(int &o,int v)函数,o传的引用,改变o值时,root也会跟着改变,先判断当前传入值是否存在值,即当前o是否等于0,等于0则没有用过,初始化一个prio=rand(),即给当前插入点随机附一个优先级,防止出题人对着你卡数据把你卡成一条链,用prio来旋转,初始当前点的size为1;...原创 2018-05-01 21:37:03 · 324 阅读 · 0 评论 -
BZOJ1208&&洛谷P2286 [HNOI2004]宠物收养场
Splay半模板题//By AcerMo//SPLAY毒瘤的加点分割线 #include<cmath>#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>#define lli long long intusing namespa...原创 2018-07-22 20:56:33 · 261 阅读 · 0 评论 -
BZOJ3224 普通平衡树 [非旋Treap学习笔记]
相比其他平衡树,非旋Treap看起来更加简洁,而且也去掉了玄学的rotate,并加入了merge(合并),split(分裂)我们看一下非旋Treap的基本操作1.split(分裂)分裂操作是按照权值的大小,将一棵树分裂成<=val和>val两棵树,这样可以实现许多操作inline void split(int now,int k,int &x,int &...原创 2018-08-11 15:20:10 · 540 阅读 · 0 评论