treap平衡树】的更多相关文章

题目描述 物理学家小C的研究正遇到某个瓶颈. 他正在研究的是一个星系,这个星系中有n个星球,其中有一个主星球(方便起见我们默认其为1号星球),其余的所有星球均有且仅有一个依赖星球.主星球没有依赖星球. 我们定义依赖关系如下:若星球a的依赖星球是b,则有星球a依赖星球b.此外,依赖关系具有传递性,即若星球a依赖星球b,星球b依赖星球c,则有星球a依赖星球c. 对于这个神秘的星系中,小C初步探究了它的性质,发现星球之间的依赖关系是无环的.并且从星球a出发只能直接到达它的依赖星球b. 每个星球i都有一…
题目描述 输入 第一行有三个整数N.M和R,分别表示树的节点数.指令和询问总数,以及X国的据点. 接下来N-1行,每行两个整数X和Y,表示Katharon国的一条道路. 接下来M行,每行描述一个指令或询问,格式见题目描述. 输出 对于每个询问操作,输出所求的值. 样例输入 5 8 1 1 2 2 3 3 4 4 5 Sum 2 4 Increase 3 5 3 Minor 1 4 Sum 4 5 Invert 1 3 Major 1 2 Increase 1 5 2 Sum 1 5 样例输出 0…
题目描述 某一天gty在与他的妹子玩游戏.妹子提出一个游戏,给定一棵有根树,每个节点有一些石子,每次可以将不多于L的石子移动到父节点,询问将某个节点的子树中的石子移动到这个节点先手是否有必胜策略.gty很快计算出了策略.但gty的妹子十分机智,她决定修改某个节点的石子或加入某个新节点.gty不忍心打击妹子,所以他将这个问题交给了你.另外由于gty十分绅士,所以他将先手让给了妹子. 输入 第一行两个数字,n和L,n<=5*10^4,L<=10^9第二行n个数字,表示每个节点初始石子数.接下来n-…
这题也能够用树状数组做,并且树状数组姿势更加优美.代码更加少,只是这个Treap树就是求第K大元素的专家--所以速度比較快. 这个也是从那本红书上拿的模板--自己找了资料百度了好久,才理解这个Treap主要的知识,要是自己写真的得写到什么时候啊!.. 然后输入的时候是写n-k+1反着找的,就是这里又浪费了好多时间debug.唉-- #include <iostream> #include <cstdio> #include <fstream> #include <…
今天集训讲平衡树,就瞎搞了一下.直接下代码. #include<iostream> #include<cstdio> #include<cmath> #include<ctime> #include<cstdlib> using namespace std; int cnt; //现在的点总数 ],rc[]; //左右儿子 ]; //子树大小 ]; //当前点的权值 ];//为随机的值,为了保证堆的性质 void update(int cur)…
实现功能如下——1. 插入x数2. 删除x数(若有多个相同的数,因只删除一个)3. 查询x数的排名(若有多个相同的数,因输出最小的排名)4. 查询排名为x的数5. 求x的前驱(前驱定义为小于x,且最大的数)6. 求x的后继(后继定义为大于x,且最小的数) 本程序的实现原理为Treap平衡树 详见BZOJ3224 var i,j,k,l,m,n,head,ts:longint;f1:text; a,b,fix,lef,rig:..] of longint; procedure lt(var x:l…
浅谈普通平衡树Treap 平衡树,Treap=Tree+heap这是一个很形象的东西 我们要维护一棵树,它满足堆的性质和二叉查找树的性质(BST),这样的二叉树我们叫做平衡树 并且平衡树它的结构是接近于比较均衡的. 考虑Treap解决的问题:插入,删除,排名(排名为x的数,数x的排名).前驱和后继 这里的英文函数名分别定义为insert(插入) erase(删除),rank(求数x的排名),find(求排名是x的数),pre(x的前驱),nex(x的后继) 10 Treap节点的定义和意义 对于…
线段树不支持的操作:删除,插入 常见的平衡树 treap 慢||好写 sbt(大小平衡的树) 非常快 比较好写 ||功能不全 rbt 红黑树 特别快 || 非常难写   以上操作支持插入删除O(NlogN) splay 特别慢..≍O(sqrt(N)) 不太好写,功能强大 可持久化Treap 平衡树一定是二叉树 左儿子里面的元素一定比他小 右儿子一定比当前节点大 中序遍历一定排好序 每次递归的查询 小——>左 大——>右 弊端:深度可能会非常深-->代价非常大 Treap=Tree+he…
双向链表 单调队列,双端队列 单调栈 堆 带权并查集 hash 表 双hash 树状数组 线段树合并 平衡树 Treap 随机平衡二叉树 Scapegoat Tree 替罪羊树 朝鲜树 块状数组,块状链表 树套树 线段树套线段树 线段树套平衡树 平衡树套线段树 6.可并堆 左偏树 *配对堆 KDtree,四分树 1.4 可持久化数据结构 可持久化线段树 主席树 可持久化平衡树 可持久化块状数组 KMP AC 自动机 后缀数组 *后缀树 *后缀自动机 字典树 Trie 7.manacher pri…
更新记录一些很好的干货博客以及工具网站. 各文章,工具网站版权归原作者所有,侵删. Articles 浅谈C++ IO优化--读优输优方法集锦 浅谈斜率优化 思维导图好助手--开心食用Xmind Typora ---一款简洁的Markdown编辑器 NOIP选手必知的编程技巧 轻量级编辑器透彻指南--Notepad++ 浅谈玄学算法--模拟退火 我有独特的骗分技巧 时空复杂度分析及master定理 浅谈二分的边界问题 基环树瞎吹 SPFA算法的玄学方法 Hexo博客搭建说明书 从零搭建 Hexo…