CF竞赛题目讲解_CF101D(树形DP + 概率 + 排序)
2022-09-26 11:58 作者:Clayton_Zhou | 我要投稿
https://codeforces.com/problemset/problem/101/D
题意:
给一棵 (n) 个节点的带权树,求一种遍历方案,从 节点(1) 出发,每条边走两次,走过所有点,第一次经过每个节点的平均时刻最小。输出这个平均时刻。
题解:
树形DP + 概率 + 排序,
szt[v] 遍历子树v的每个顶点再返回, 即子树v的所有边时间的2倍(包含父亲u到v)。
res[u] 不是遍历 树u 的每个顶点时间总和,而是遍历 树u 的每个顶点时刻之和。
找出一个dfs遍历方案,使得 res[1]最小。
最后答案是 res[1]/(n-1), 即遍历 树u 的每个顶点时刻之数学期望。