随笔分类 - 平衡树
就是各种并不对劲的平衡树
摘要:CF1237D Balanced Playlist 题意 有一个长度为$n$($n\leq 10^5$)的循环播放歌单,每首歌有一个优秀值$a_i$($a_i\leq 10^9$)。 听歌时选一首歌开始,如果某一首歌$x$的优秀值的两倍小于当前听过的歌中优秀值最大的,那么会在听完$x$之前停止听歌。
阅读全文
摘要:题目大意 有一个串$s$,一开始只知道它的一个前缀。有$q$($q\leq 10^4$)个操作,操作有两种:1.给一个字符串,表示$s$($s$总长$\leq 6\times 10^5$)当前未知部分的前缀;2.给一个字符串,问$s$的已知部分中有几个子串和该串相同,询问串总长$\leq 3\tim
阅读全文
摘要:题目大意 spaly是一种数据结构,它是只有单旋的splay 有一个初始为空的spaly,$m$($m\leq10^5$)次操作,每个操作是以下5种中的一种: 1.向spaly中插入一个数(过程和treap的插入类似,只不过插入之后不会调整),并询问这个数的深度 2.询问最小值的深度,并将它spla
阅读全文
摘要:题目大意 有一棵$n$($n\leq10^5$)个节点的树,每个点有颜色$c$,一开始所有颜色互不相同 要进行$m$($m\leq10^5$)次操作,每次操作是以下三种中的一种: 1.给出点$x$,将点$x$到根路径上所有点的染成一种没出现过的颜色 2.给出点$x$,$y$,询问点$x$到$y$的简
阅读全文
摘要:题目大意 有一个n($n\leq 10^5$)个点的森林,每个点$u$上有个函数$f_u(x)$,是形如$ax+b$或$e^{ax+b}$或$sin(ax+b)$的函数,保证当$x\in[0,1]$时,$f_u(x)\in[0,1]$ 有$q(q\leq 2 10^5)$个操作,每个操作是以下三个中
阅读全文
摘要:"想要很对劲的讲解,请点击这里" 题目大意 有一棵$n$($n\leq 50000$)个节点的树,有边权 求一条路径使该路径的边权平均值最接近给出的一个数$k$ 输出边权平均值下取整的整数部分 题解 有关路径的边权平均值可以二分来做 假设已二分出边权平均值与$k$的差不超过$m$,则应存在一条简单路
阅读全文
摘要:最近很对劲的太刀流做的一道题中说树是无向连通无环图,并不对劲的片手流为了反驳他,决定与之针锋相对,就练线段无向连通无环图套平衡无向连通无环图的题。 很对劲的太刀流-> 题意非常简单,就是维护一个数据结构,支持区间排名、区间第k大、单点修改、区间前驱后继这些操作。 主席树+树状数组想必是可以做的,但是
阅读全文
摘要:LCT,是连猫树(link-cat-tree)的缩写。它是树链剖分和splay的结合版本。 由于有很多关于LCT的文章以及这并不是对劲的文章,并不对劲的人并不打算讲得太详细。 推荐:详细的LCT-> 想必大家都知道splay+树剖=LCT splay虽然常数较大,但是它好写好调(大部分操作都可以把左
阅读全文
摘要:这道题在好多测评网站都可以提交。 这次用平衡树维护的不是每个数的值,而是顺序。 至于区间操作,每次把左边界左边的那个点旋转到根,把右边界右边的那个点旋转到根的右儿子。 然后你就会惊讶(并不)地发现:这个区间都被转到蓝色区域去了!(毕竟是l-1<rank<r+1的部分) 这样就可以在这个区间的根节点,
阅读全文
摘要:splay和不加任何旋转一定会被卡的二叉搜索树的唯一区别就是每次操作把当前节点旋转到根。 旋转有各种zig、zag的组合方式,感觉很麻烦,并不对劲的人并不想讲。 其实可以找出一些共性将它们合并。设ls(a)=[点a是其父亲的左儿子],son[a][0]=a的左儿子,son[a][1]=a的右儿子,f
阅读全文