随笔分类 - 各种平衡树
摘要:原理 替罪羊树不依靠旋转,而是依靠重构不平衡的子树使整棵树达到平衡状态。 变量介绍 1 int n; 2 struct Node { 3 int val,num; //节点的值,数量 4 int siz,hid; //以该节点为根的子树中未被删的节点数和已被删的节点数 5 int son[2],fa
阅读全文
摘要:原理 以随机数维护平衡,使树高期望为logn级别 不依靠旋转,只有两个核心操作merge(合并)和split(拆分) 因此可持久化 先介绍变量 1 const int N=100005; 2 int n; 3 struct Node { 4 int val,key,siz; //权值,随机权值,子树
阅读全文
摘要:先介绍变量定义 1 int n; 2 struct Node { //Splay节点定义 3 int fa,son[2],val,num,siz; //fa:它爸爸;son它儿子,左0右1;val:这个节点的值 4 //num:这个值的数量;siz:以它为根的子树的大小 5 void res() {
阅读全文

浙公网安备 33010602011771号