贪心.
在合法的前提下,一定是在每棵子树中也删掉尽可能多的点,这样这个子树的根对它的父亲的贡献最小.
于是对树 $dfs$ ,处理完 $u$ 的所有子节点 $v$ 后,需要考虑删掉哪些 $v$ .
将每个 $v$ 被删掉后对 $u$ 的贡献从小到大排序,能删就删即可.
时间复杂度 $O(n\log n)$ .
1 |
|
夢はここに 思い出は遠くに
贪心.
在合法的前提下,一定是在每棵子树中也删掉尽可能多的点,这样这个子树的根对它的父亲的贡献最小.
于是对树 $dfs$ ,处理完 $u$ 的所有子节点 $v$ 后,需要考虑删掉哪些 $v$ .
将每个 $v$ 被删掉后对 $u$ 的贡献从小到大排序,能删就删即可.
时间复杂度 $O(n\log n)$ .
1 | #include<bits/stdc++.h> |