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

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

以任意非叶节点为根求 dfs 树,设叶子节点为 k,答案的下界是 k2,现在给出一组构造方案证明这个下界可以达到。

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

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

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

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

posted @   do_while_true  阅读(37)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?

This blog has running: 1845 days 1 hours 33 minutes 59 seconds

点击右上角即可分享
微信分享提示