随笔分类 -  树链剖分

熟练剖分是很有用的算法(思路),所以单独成类
摘要:本题解提供两种做法。 做法一 为了叙述方便,先引入 $n$ 级母树的概念。 定义 $1$ 级母树即为该子树被删去前,其所在的原来的完整的树。 如下图,以 $5$ 为根的一级母树为以 $3$ 为根的原来的子树。类似地,以 $1$ 为根的原来的树即为以 $3$ 为根的树的 $1$ 级母树以及以 $5$ 阅读全文
posted @ 2022-11-10 13:44 雪之下,树之旁 阅读(86) 评论(0) 推荐(0)
摘要:震惊,蒟蒻居然也能去省选,短暂回归 OI! 2021/5/15: 震惊,蒟蒻居然能混到决赛三等奖! 友情tips: 点击右侧目录来快速跳转到自己想要的地方 题单 网络流: https://www.luogu.com.cn/training/65946#information 树链剖分: https: 阅读全文
posted @ 2021-04-03 10:37 雪之下,树之旁 阅读(136) 评论(0) 推荐(0)
摘要:一个非前缀和做法。 思路:首先,将图通过 \(tarjan\) 的无向图连通分量缩成一个无向无环图,即一棵树。那么,剩下的我们就是要判断一条路径上是否存在权值为 $1$ 的边或点了。这里所谓的边和点都是指新图上的。那么,对于内部包含原图权值为 $1$ 的边的边双连通,我们记一个数组 \(val\), 阅读全文
posted @ 2020-12-04 08:16 雪之下,树之旁 阅读(157) 评论(0) 推荐(0)
摘要:洛谷AC通道! 首先,有一个推论,如果我们要保证能到达首都,那么朋友们的起点一定有车票,不然寸步难行啊! 所以,我们不用管那些没有车票的点了,直接考虑有车票的点。只有他们才可能作为朋友们的起点。 考虑DP。设 $f_u = min(f_v) + cost_u $. 其中,v 为 u 的祖先,$cos 阅读全文
posted @ 2020-07-27 15:08 雪之下,树之旁 阅读(206) 评论(0) 推荐(0)
摘要:洛谷AC通道 题目描述 给出一棵树,求树上两点间的距离 考虑用树链剖分+线段树做。将边权下移,变成点的权值,然后统计点权和即可。 当然,注意,在统计点权时,实际上LCA这个点的权值并不包含在我们的距离之内,因此需要减掉。 #include <bits/stdc++.h> using namespac 阅读全文
posted @ 2020-07-20 12:08 雪之下,树之旁 阅读(219) 评论(0) 推荐(0)
摘要:相遇 Railway 洛谷AC传送门 题目描述: 已知我国有 n 座城市,这些城市通过 $n-1$ 条高铁相连。且任意两个城市联通。 小 A 想从 $x_1$ 号城市出发,到 $y_1$ 号城市,小 B 想从 $x_2$ 号城市出发,到 $y_2$ 号 城市,问他们是否可能在路途中相遇(出现在同一城 阅读全文
posted @ 2020-07-17 22:56 雪之下,树之旁 阅读(186) 评论(0) 推荐(0)
摘要:2020/4/30 15:55 树链剖分是一种十分实用的树的方法,用来处理LCA等祖先问题,以及对一棵树上的节点进行批量修改、权值和查询等有奇效。 So, what is 树链剖分? 可以简单的理解为,将一棵树分成许多条不相交的链,每次我们只要得知链首,便可对该条链上所有的点用数据结构(like 线 阅读全文
posted @ 2020-04-30 00:34 雪之下,树之旁 阅读(410) 评论(0) 推荐(0)