随笔分类 -  树链剖分

摘要:E. Qpwoeirut and Vertices 分析 分析起来,倒是不算太麻烦。 简单说明一下题意: n个点,m条边的无向图。其中边按照其给的顺序赋边权,即为第一条给出的边,其边权为1,第二条给出的边,其边权为2,等。 给我们q次询问,每次询问给一个范围[l,r],要求其中的点全部连通需要走的边 阅读全文
posted @ 2022-08-08 22:27 艾特玖 阅读(50) 评论(0) 推荐(0)
摘要:牛客练习赛62——水灾(断开) 原题链接 分析 我们要知道的是将k个点断开使得其互相不连通需要去掉的所有边集的最大边权的最小值是多少 我们先考虑将两个点断开的答案是什么?显而易见,即为两者之间的最小边权最大值。那我们建降序Kruskal重构树,然后求LCA就好。 那k个点我们就求个k个点的LCA,就 阅读全文
posted @ 2022-08-08 22:26 艾特玖 阅读(43) 评论(0) 推荐(0)
摘要:Colorful Tree 题目大意 给我们一棵树,每个节点有一个颜色。 需要完成两个操作。 求某一种颜色的最小生成树的边数 将某一个节点的颜色改为另一种颜色 思路 不得不提到一个名词,虚树。虚树的概念大就是说我们不用真的把每一次改变后的树都重新建出来,我们只需要维护某些性质即可。 大部分用到虚树的 阅读全文
posted @ 2022-06-30 23:24 艾特玖 阅读(57) 评论(0) 推荐(0)
摘要:华华和月月种树 知识点 树剖+树状数组 思路 容我吐槽一下,这牛客LCA题单全都是点树剖,真不如叫树剖题单(doge) 好啦,我们正式来说这题。 我们先正常分析,遇见问题我们在过来调整思路。 首先,我们不考虑第一个操作,来看剩下两个。 这里面,首先我们看到了一个操作。 操作 2:输入格式 2 i a 阅读全文
posted @ 2022-06-30 10:39 艾特玖 阅读(45) 评论(0) 推荐(0)
摘要:P5568 [SDOI2008] 校门外的区间 P4315 月下“毛景树” 分析 这两题放一起是因为,都有对两个懒标记的优先权的调整。 校门外的区间 我们可以将题目的中操作转化为 U:B区间覆盖1 I:B区间的补集覆盖0 D:B区间覆盖0 C:全集范围内01翻转,转到I操作 S:B区间范围内01翻转 阅读全文
posted @ 2022-05-04 21:17 艾特玖 阅读(39) 评论(0) 推荐(0)
摘要:写在最前面:进阶内容,主要是依托于笔者自己的刷题经验,对题目进行分类 其中题目来源主要源自洛谷,以下三个题单 线段树+树链剖分专题 树链剖分练习题 大力树剖! 大力鸣谢以上三位题单创始者 温馨提示,如果想将三个题单做完,推荐顺序从上至下(依难度划分) 好啦,让我们来对树剖题型进行分类吧。 我会给出题 阅读全文
posted @ 2022-05-02 18:26 艾特玖 阅读(66) 评论(0) 推荐(0)
摘要:写在最前面,本文作者水平有限,若有不足需要补充处,望友善讨论 本文主要用于梳理树链剖分的基本原理,若想要进行刷题练习,请进入进阶内容 另外,基础内容中可能会涉及一些线段树的内容,推荐了解一些线段树基础 若想进入进阶内容,至少需要会基础线段树,其余需要较难的线段树操作,可以边写边学 线段树基础 树剖进 阅读全文
posted @ 2022-05-02 11:09 艾特玖 阅读(54) 评论(0) 推荐(0)
摘要:P3313 [SDOI2014]旅行 分析 老规矩,先来分析分析题目需求 我们总共需要满足以下四个要求 将城市x的居民的信仰改为c 将城市x的评分全部改为w 统计对于旅行者,其从x至y的路径中所有留宿过的城市的评级总和 统计对于旅行者,其从x至y的路径中所有留宿过的城市的评级最大值 不难发现,对于每 阅读全文
posted @ 2022-04-30 23:20 艾特玖 阅读(47) 评论(0) 推荐(0)
摘要:CF916E Jamie and Tree 分析 换根树剖 这类题目不多,一般都是需要分类讨论。 题意: 支持以下操作: 换根 子树修改 LCA 子树查询 我们挨个分析 先以1为根将整棵树剖一遍 接着处理每个操作: 1.直接换 2.我们要分类讨论,为了叙述方便,记x,y在原树中的LCA为lca(x, 阅读全文
posted @ 2022-04-30 22:08 艾特玖 阅读(34) 评论(0) 推荐(0)
摘要:P6157 有趣的游戏 分析 还是一样,看一看题目要求。 每一次系统会给出一条链,小 A 可以从这条链上找出两个点权不同的点 x,y,他的得分是 \(w_x mod w_y\)。然后小 B 会从整棵树中选取两个小 A 没有选过的点,计分方式同小 A。 非常容易推理出,对于A而言,其选出的最大答案是选 阅读全文
posted @ 2022-04-30 21:53 艾特玖 阅读(57) 评论(0) 推荐(0)
摘要:P4211 [LNOI2014]LCA 分析 本题要计算的就是l~r与z的LCA的深度之和 我们来看看,是否可以将求多个dep转化一下 我们先对dep有一个理解,dep就是从i到root总共有多少点 我们从整体上考虑,发现对于一个询问:l , r , z 来说,所有的 lca 都在 z 到根的路径上 阅读全文
posted @ 2022-04-30 20:51 艾特玖 阅读(57) 评论(0) 推荐(0)
摘要:CF1023F Mobile Phone Network 分析 我们来重新着重分析一下题目要求。 题目需要我们满足下边两个要求: 你的 k 个连接都会被顾客选择。 k 个连接的价格总和最大。 我们一个一个来解决 你的k个连接都会被顾客选择 最后形成的是一棵树,则一定生成的是一个最小生成树。 为使我们 阅读全文
posted @ 2022-04-30 17:32 艾特玖 阅读(68) 评论(0) 推荐(0)
摘要:P4616 [COCI2017-2018#5] Pictionary 分析 啊,也不算很麻烦,我们主要展示思路过程。 首先,看到q次询问中,每次询问使得a和b的联通的最早时间。那我们自然想到,可以直接求a和b的gcd,然后就可以得到一定能将其连接起来的日子了。 然后发现,这没什么用,因为在这之前的某 阅读全文
posted @ 2022-04-25 21:55 艾特玖 阅读(59) 评论(0) 推荐(0)
摘要:P3925 aaa被续 分析 这题不算很麻烦,我们直接来说思路。 算法:树剖+线段树 首先不难想到,我们肯定是从最大值开始算起,接下来考虑该点对答案的贡献。 对于枚举的点,我们假设点为i 其对答案的贡献是,i到1的路径中,所经过的所有节点的子树中的i在从小到大的排位*$val_i$的和 转化一下,则 阅读全文
posted @ 2022-04-25 20:38 艾特玖 阅读(42) 评论(0) 推荐(0)
摘要:P5838 [USACO19DEC]Milk Visits G 分析 这题有两种写法 我们先说更容易理解,但是时间复杂度较高的写法。 树剖+二分 时间复杂度\(O(Nog^2N)\) 思路非常简单。 我们建立树剖后,将所有颜色的dfs序放入数组,排一下序。 对于每次询问,我们沿链上翻时,该条链的df 阅读全文
posted @ 2022-04-15 21:07 艾特玖 阅读(50) 评论(0) 推荐(0)
摘要:P3979 遥远的国度 分析 树剖+线段树+分类讨论(树剖换根) 我们先在这里放结论 换根,不影响我们用从1建立的树剖跑树中路径的操作。 换根,会影响利用子树的性质,因为换过根后,树中结点子树的节点dfs序可能就不连续了,但可以通过分类讨论避免掉,具体看下文。 我们来以本题作为范本讲讲树剖换根 总共 阅读全文
posted @ 2022-04-15 17:41 艾特玖 阅读(101) 评论(0) 推荐(0)
摘要:Kruskal重构树 前言 事情的起因是,上年在上海区域赛中,碰到了铜牌题用到了这个知识点,因为不会,又kuangkuang打铁了。 说要总一下来着,但拖延症发作,硬是拖到了今天,但也不是没有好处,现在由于水平提升一些,我们可以将例题讲的更清楚些。 下面我们就开始吧 实现过程 这点并不难说 将边按照 阅读全文
posted @ 2022-04-14 23:12 艾特玖 阅读(241) 评论(1) 推荐(2)
摘要:P3976 [TJOI2015]旅游 分析 这题和染色,是非常类似的题型。我们从头来看。 本题要求我们动态维护一条链上,从起点到终点中,挑选一个点为买,再挑选一个点为卖,能得到的最大利润(若利润为负则为0,即可以理解为不买不卖) 需要注意的是,因为买的点编号一定要比卖的点靠前(最多刚买的就卖,但这跟 阅读全文
posted @ 2022-04-08 18:11 艾特玖 阅读(80) 评论(0) 推荐(0)
摘要:P3401 洛谷树 分析 很有意思的题目,我们来从头分析。 查询操作 首先不难分析,为了要求一段路径的异或值,我们采用类似前缀和的方式,预处理出来,从根节点到每个节点的边权异或值。将该数组设为sum 这样,我们想求u,v之间路径的异或值时,只需要求sum[u] ^ sum[v] 就可以得到从u-v之 阅读全文
posted @ 2022-04-08 11:56 艾特玖 阅读(140) 评论(0) 推荐(0)
摘要:P4374 [USACO18OPEN]Disruption P 分析 还是蛮套路的,我们来总结一下这题的推理过程 首先考虑,从每一条边去找哪一条边是我们需要的最短的替换路。发现太麻烦了,则正难则反,我们从新加的每一条路去考虑。 对于新加的边,其能更新其两个端点在树中的路径 依据此,我们的问题即转化为 阅读全文
posted @ 2022-04-04 23:08 艾特玖 阅读(47) 评论(0) 推荐(0)