平衡树
Mys_C_K
人生有许多道:曾经踏足的是道,即将踏往的也是道,那什么才是道呢?唯有脚下走的才是道。一切精神或者物质都归于虚无,然后从混沌中衍生出三万道。在悲喜间涉足一条无数前人经历过,且将有无数后人奔赴的道,无论是否已经或者将要到达彼岸,然后便不再回头或是左顾右盼,即使有些道繁盛至极,夜灯如昼,无数人一浪又一浪的涌去,造就了世人皆知的辉煌;即使有些道草木凋敝,荒草丛生,只等勇敢的开拓者斩开荆棘,创造一片天地;这些都无所关,无所在意,彼岸何如、来日何方甚至过往旧事都化作一缕云烟,飘渺碧霄,我自撷高山之月色,独随足落处往行。
展开
-
[学习笔记]BZOJ3224 普通平衡树 - 平衡树Splay
传送门 rotate和splay跳过 insert就是insert,不要忘了splay。 find写成找第一个>=v的。 前驱后继就是find后先往左右跳一步然后能往右左走就走 del就是find后把前驱后继splay的根和根的右儿子删除即可。 getk就是find后splay到根然后左子树大小+1 getkth就是在上面二分即可。 为了保证存在前驱后继可以先insert(±I原创 2017-08-02 20:35:18 · 442 阅读 · 1 评论 -
[学习笔记] bzoj3224 普通平衡树:splay模板
没啥好说的。 唯一要注意的是,每次操作后有了修改一定要splay!#include<iostream> #include<cstring> #include<cstdio> #include<algorithm> #include<climits> #include<assert.h> #define N 110000 #define INF INT_MAX #define inf INT_MIN原创 2017-12-20 11:34:21 · 328 阅读 · 0 评论 -
某个树上数据结构 - splay - 启发式合并
题意:给你一颗有边权、点有颜色的有根树,根是1,对每个点求,仅考虑其子树,哪种颜色的点两两距离之和最大,多解输出编号最小。 题解:省选前敲一波数据结构。splay用启发式合并即可。 #include<iostream> #include<cstring> #include<cstdio> #include<algorithm> #includ...原创 2018-05-04 22:02:38 · 367 阅读 · 0 评论 -
[学习笔记] 替罪羊树
好像不重构的替罪羊树跑得最快…… #include<iostream> #include<cstring> #include<cstdio> #include<algorithm> #include<climits> #include<assert.h> #define N 100010 #define alpha 0.78...原创 2018-08-07 17:12:04 · 271 阅读 · 0 评论 -
信心 - 平衡树 - 树状数组
题目大意:维护n个集合(不可重),每次区间insert一个数字x或者求区间集合大小之和。 题解:对每个x维护一个set表示当前那些段是空的即可。 #include<bits/stdc++.h> #define rep(i,a,b) for(int i=a;i<=b;i++) #define Rep(i,v) rep(i,0,(int)v.size()-1) #define lin...原创 2018-12-05 09:19:12 · 247 阅读 · 0 评论