其他分享
首页 > 其他分享> > 「题解」洛谷P4665 [BalticOI 2015]Network

「题解」洛谷P4665 [BalticOI 2015]Network

作者:互联网

以任意非叶节点为根求 dfs 树,设叶子节点为 \(k\),答案的下界是 \(\left\lceil\frac{k}{2}\right\rceil\),现在给出一组构造方案证明这个下界可以达到。

把叶子节点按照 dfn 排序,然后第 \(i\) 个叶子连向第 \(i+k/2\) 个叶子。

如果每条边都在一个环里,那么这个图没有割边,如果根节点的子树包含的叶子节点都 \(<k/2\),那么每个叶子都能和另外一个子树的叶子匹配,显然每条边都会被覆盖到。

如果存在一个子树 \(>k/2\),那么没有和子树外的点匹配的只有这个子树内的叶子,单独考虑这棵子树,一定是前若干个叶子和后若干个叶子匹配,如果它们不在这个子树的一棵子树内,就合法了,否则还会存在一个更下一层的子树,前若干个叶子和后若干个叶子匹配。如此递归下去,到了最底层的时候显然合法。

所以整个构造方案是合法的。

标签:子树,洛谷,Network,题解,叶子,匹配,节点,若干个,子树内
来源: https://www.cnblogs.com/do-while-true/p/15331794.html