那个写平衡树是不可能写平衡树,这辈子都不可能写平衡树。只有链表才能维持的了生命。 #include<bits/stdc++.h> using namespace std; const int N=1e5+5,inf=2147483647; typedef pair<int,int> P; P a[N ...
分类:
其他好文 时间:
2018-12-21 15:26:06
阅读次数:
183
lct是一种动态树,用来维护一些动态加边删边的操作的东西.他主要用到几个操作,其实这个算法和树链刨分有点像,但是不能用线段树简单维护,所以我们要用多棵平衡树来维护树上的一个个子树,然后就进行一些很秀的操作.详情见这个博客:FlashHu 这个博客讲的是真的好,特别适合新手看,而且特别细节,(特别带劲 ...
分类:
其他好文 时间:
2018-12-19 20:52:24
阅读次数:
117
#include using namespace std; const int maxn=1e5+4; int n,rt,pool=0; struct node{ int lc,rc,fa,size,key,pri,cnt; }a[maxn]; inline void zig(int &k){ in... ...
分类:
其他好文 时间:
2018-12-18 02:07:35
阅读次数:
225
索引(在MySQL中也叫做“键(key)”)是存储引擎用于快速找到记录的一种数据结构。 3.1.1 索引基础 B+ Tree 原理 1. 数据结构 B Tree 指的是 Balance Tree,也就是平衡树。平衡树是一颗查找树,并且所有叶子节点位于同一层。 B+ Tree 是基于 B Tree 和 ...
分类:
其他好文 时间:
2018-12-17 02:29:09
阅读次数:
183
"原题链接" 题目描述 :小T有一个很大的书柜。这个书柜的构造有些独特,即书柜里的书是从上至下堆放成一列。她用1到的正整数给每本书都编了号。 小T在看书的时候,每次取出一本书,看完后放回书柜然后再拿下一本。由于这些书太有吸引力了,所以她看完后常常会忘记原来是放在书柜的什么位置。不过小T的记忆力是非常 ...
分类:
其他好文 时间:
2018-12-16 18:45:13
阅读次数:
162
环境:C++ 11 + win10 IDE:Clion 2018.3 AVL平衡树是在BST二叉查找树的基础上添加了平衡机制。 我们把平衡的BST认为是任一节点的左子树和右子树的高度差为-1,0,1中的一种情况,即不存在相差两层及以上。 所谓平衡机制就是BST在理想情况下搜索复杂度是o(logn) ...
分类:
其他好文 时间:
2018-12-16 11:01:10
阅读次数:
155
这题需要一个黑科技——摩尔投票。这是一个什么东西?一个神奇的方法求一个序列中出现次数大于长度一半的数。 简而言之就是 ; 比如有一个代表投票结果的序列。 $$[1,2,1,1,2,1,1]$$ 我们记录一个$num$和$cnt$先别管它们是干什么的。我们模拟一遍模拟排序。 $$首先读第一个数1,nu ...
分类:
其他好文 时间:
2018-12-15 19:45:56
阅读次数:
149
splay是支持区间操作的,先做这道题入个门 大多数操作都和普通splay一样,就不多解释了,只解释一下不大一样的操作 ...
分类:
其他好文 时间:
2018-12-15 12:02:45
阅读次数:
115
在多次学习splay后,我终于理解并码出了整份代码 参考了https://tiger0132.blog.luogu.org/slay-notes的博客 具体实现原理在上面这篇博客和百度中可以查到,接下来我们看一下代码 普通平衡树这道题大概就是这样了,接下来会跟进有关题目的训练及题解。 ...
分类:
其他好文 时间:
2018-12-14 22:58:52
阅读次数:
197
最近学了学树套树,做了几道模板题。 ~~发现好像有点水~~ 咳咳咳。 树套树,顾名思义,一个树套一个树。比如树状数组套平衡树,就是把树状数组的每一个结点作为一颗平衡树,线段树套权值线段树,就是一颗线段树,每一个结点都是一颗权值线段树。。。 如果有一个问题是要求一个区间$[l,r]$中比$x$小的数有 ...
分类:
其他好文 时间:
2018-12-10 22:37:44
阅读次数:
213