
平衡树
zsyz_lb2003
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
史上最菜的splay讲解
先了解一下什么是平衡树吧。 之后进行各种玄学操作,但都离不开平衡树的基本性质: 满足根存在一性质,大于左子树的同一性质,小于右子树的同一性质 请记住这句话。 定义结构体(以普通平衡树为例): struct node{int d,n,c,f,son[2];}t[N];int len,root;//son[0]为左,son[1]为右 先讲讲五个基本操作吧。 updateupdateupdate操作(...原创 2019-07-10 11:05:33 · 193 阅读 · 0 评论 -
[BJOI2014]大融合
题面描述 题面不可描述 思路 貌似LCT\operatorname{LCT}LCT瞎搞维护一下虚儿子就行了。 但细节比较多啊。 通过瞎搞的规律,我们可以发现,答案貌似就是(xxx的儿子数+1+1+1)∗*∗(yyy的儿子数+1+1+1)。 经过询问操作的一系列操作,其实就等价于虚儿子+1+1+1∗*∗虚儿子+1+1+1 好了,就这么简单。 记得linklinklink的时候,将yyy调到所在辅助...原创 2019-08-08 19:56:45 · 158 阅读 · 0 评论 -
[SDOI2011]染色
题面描述 滑稽 思路 初看不可做,再看不可做。 之后过了几天之后,才想起来有这道题。 铁头娃LCT\operatorname{LCT}LCT来了。 由于是统计不同的颜色段数,那么一个颜色段与另一颜色段接壤的地方,也就是左端点的col\operatorname{col}col,以及右端点的col\operatorname{col}col。 转化成LCT\operatorname{LCT}LC...原创 2019-08-08 20:13:10 · 290 阅读 · 0 评论 -
[BZOJ3779]重组病毒
题面描述 穷哭了 思路 难吗?难码. 首先观察一下操作一,就是一个access,但是要改变子树啊,LCT不缁瓷,所以线段树稍微维护一下。 怎么维护是一个大难点啊。 是要分类讨论的。 先找出实右子树在原数上的根xxx。 情况 rt=xrt=xrt=x,直接修改整颗树。 rtrtrt在子树中,令y=rty=rty=rt,跳到xxx的儿子上,由于xxx的整颗子树,都不用经过x就可以到达yyy,即可证明...原创 2019-08-08 20:32:44 · 233 阅读 · 0 评论 -
[SDOI2017]树点涂色
题面描述 传送门 思路 代码居然出奇的短 想都不想LCT\operatorname{LCT}LCT 首先观察一下opt=1opt=1opt=1,这不就是一个奇奇怪怪♂ 的accessaccessaccess吗?想想accessaccessaccess的操作,实际上就是实虚边的切换。 由于建树时是全部虚边,恰好就对应每个点的颜色不一样,那么每个点到根节点的权值就恰好是它的深度(dep[rt]=1d...原创 2019-08-07 08:31:08 · 194 阅读 · 0 评论