P3441 MET-Subway 题解
题意:给定一棵树,选 \(m\) 条路径,最大化覆盖的点个数。\(n\le 10^6\)。
容易想到每次选两个叶子是最优的。
假设有 \(l\) 个叶子,就会选 \(\min(2m,l)\) 个叶子。进一步地,叶子的父亲们也会覆盖 \(\min(2m,cnt)\) 个 ……
从叶子出发进行拓扑排序,求出每个结点所属的层级。记 \(cnt[i]\) 为第 \(i\) 层的结点个数。则 \(ans=\sum \min(2m,cnt[i])\)。
题意:给定一棵树,选 \(m\) 条路径,最大化覆盖的点个数。\(n\le 10^6\)。
容易想到每次选两个叶子是最优的。
假设有 \(l\) 个叶子,就会选 \(\min(2m,l)\) 个叶子。进一步地,叶子的父亲们也会覆盖 \(\min(2m,cnt)\) 个 ……
从叶子出发进行拓扑排序,求出每个结点所属的层级。记 \(cnt[i]\) 为第 \(i\) 层的结点个数。则 \(ans=\sum \min(2m,cnt[i])\)。