1 条题解
-
0
自动搬运
来自洛谷,原作者为

Lgx_Q
变强不如变菜搬运于
2025-08-24 23:06:26,当前版本为作者最后更新于2024-11-22 09:08:30,作者可能在搬运后再次修改,您可在原文处查看最新版自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多
以下是正文
考虑对于每一天,枚举 表示选择的城市,然后 在树上求出 和 两条路径的长度,时间复杂度 ,期望得分 。
预处理,枚举城市 ,在树上 DFS 一遍求出所有路径 的长度,即可做到 ,期望得分 。
,
考虑使用树上倍增求出路径长度,时间复杂度 ,期望得分 。
,
此时要求我们不能直接枚举 ,考虑直接求出所有可能的 的答案。枚举 为根,DFS 一遍树,设 表示 路径上选择一个 的最优答案。考虑两种情况:
-
在 子树内,此时可以直接树形 DP 求出。
-
在 子树外,考虑 两点的最近公共祖先 ,可以先让 走到 ,再从 走到 。具体的,先进行一次树形 DP,再从上到下更新一遍(也可以理解为换根 DP)。
时间复杂度 ,小常数 做法可能也可以过这一档分。期望得分 。
特殊性质 C
以 为根,进行换根 DP 即可。
时间复杂度 ,加上之前的做法,期望得分 。
考虑对于每个点求出 $d_u = \max\limits_{v = 1} ^ n \{c_v - 2\cdot\text{dist} (u, v)\}$,其中 表示 两点在树上的距离。可以类似特殊性质 C 的做法,换根求出。
考虑路径 以及 的关系,找到 走到路径 时的第一个点 ,那么 即计算到了 的答案。
所以,总答案应为 $c_{x_i} + c_{y_i} + \max\limits_{u \in \{x_i \to y_i\}} d_u$,可以树上倍增求出一段路径的 的最大值,时间复杂度 ,期望得分 。
-
- 1
信息
- ID
- 10831
- 时间
- 2000ms
- 内存
- 512MiB
- 难度
- 5
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者