树网的核

主要是性质的证明,见这篇题解

其他的性质证明都很容易看懂,主要是记住:所有直径的点的交集非空,所有直径的中点相重合

然后来证明一下为什么随便选一条直径就可以了

我们先画出图

由之前的定理的证明,所有直径一定长成这个样子。就是从中点m开始往左右两边走,走到拐点时可以选择走支路也可以选择继续走,所有组合就是所有直径

然后我们来看看蓝书上的答案表达式:

max(max1kt(d[uk]),dist(u1,ui),dist(uj,ut))

max1kt(d[uk])来说,我们考虑某一个点p

如果说p位于所有直径的交集中(如下),那么他的答案贡献不会变,因为任选一条直径都包含p

如果p在交集之外(如下),那么他的贡献会被第一个拐点q覆盖(也就是说d[p]d[q]),因为任选一条直径一定都包含q,而且d[q]是直径的一部分,由直径的最长性得证

也就是说我随便选一条直径,max1kt(d[uk])的值不会变

对于dist(u1,ui),dist(uj,ut)同理分析即可

posted @   最爱丁珰  阅读(5)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示