随笔分类 - 树论——树剖(重链剖分)
摘要:I.CF487E Tourists 用这题作圆方树的入门题还是很合适的。 首先,先建出圆方树出来。我们可以给方点赋一个权值,即为它连着的所有圆点的权值的。然后只需要在圆方树上查询路径即可。使用树剖即可。 但这个做法会被叉掉:当原图是一张菊花图时,花心的圆点将会连向个
阅读全文
摘要:III.II.[SDOI2016]游戏 明显,一条从 到 的路径可以被拆作两条从LCA下来的路径,并且路径上每个点被写上的数是关于其深度的一次函数。 于是就树剖套李超树就行了。 但是有个问题,李超树不是只支持单点询问吗,怎么这里又支持区间了呢? 我们发现,对于一条线段,其与我
阅读全文
摘要:XIII.CF226E Noble Knight's Path 这题分为在线和离线两种做法然而我只会在线 在线的思路很简单,即先树剖,然后建出主席树。主席树一维维护的是时间,每一棵主席树内部维护的是树剖剖出来的结果。 然后对于每一次询问: 首先先从两边跳链,找到LCA,并找出两点路径间没有被“亵渎”
阅读全文
摘要:XII.小清新数据结构题 太 清 新 了 话说就我一个人看到这道题后兴冲冲的以为暴力LCT就能过然后发现LCT如果维护子树信息的话只有根节点处的信息是正确的吗(没错,就我一个) 闲话少说,正片开始。 法一:推一种式子,然后LCT/树剖维护 我们设为节点的值,然后为根
阅读全文
摘要:VII.[HNOI2015]开店 首先,第一种方法便是动态点分治。 我们先考虑忽略年龄限制的情形。 我们考虑正常求一个点到另一个点的距离应该怎么求—— 一般来说,我们会用对吧? 这个东西相当于将路径划分成两个部分,其中每个
阅读全文
摘要:XV.CF1073G Yet Another LCP Problem 这里记录一下我在思考本题时的一个感悟,即后缀数组与后缀自动机的等价性。 众所周知,SA时有一个常见思路就是针对 height 数组建一棵笛卡尔树。但是,该笛卡尔树,唯一等价于SA针对的串的反串的parent tree。具体可以分别
阅读全文
摘要:XX.SP16549 QTREE6 - Query on a tree VI 本题LCT全方面爆破树剖——无论是复杂度、码量、思维难度、代码难度,全都碾压树剖。并且,LCT容易模板化,但是树剖不容易——树剖搭配的线段树因题而异,而LCT只需要把和稍微改改就可以直接
阅读全文
摘要:CLIII.[SDOI2017]切树游戏 设 表示 子树中,所有包含 且异或和为 的连通块数量, 表示 子树中异或和为 的连通块数量。显然,有公式 \(f_{x,1,i}=f_{x,0,
阅读全文
摘要:CLII.【模板】"动态 DP"&动态树分治 裸的树上最大独立集怎么做?设 表示在 子树中, 不选的最大答案; 表示在 子树中, 选的最大答案。则有 \(f_{x,0}=\sum\limits_{y\in\t
阅读全文
摘要:CXXXI.[GYM102331J]Jiry Matchings 首先,不难想到一个 的树上背包:设 表示在以 为根的子树内,其中 没有被匹配/被匹配了,且整个子树中共匹配了 条边的最优方案。考虑优化。 我们知
阅读全文