树网的核

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

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

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

我们先画出图

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

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

\[max(\underset{{1≤k≤t}}{max}(d[u_k]),dist(u_1,u_i),dist(u_j,u_t)) \]

\(\underset{{1≤k≤t}}{max}(d[u_k])\)来说,我们考虑某一个点\(p\)

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

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

也就是说我随便选一条直径,\(\underset{{1≤k≤t}}{max}(d[u_k])\)的值不会变

对于\(dist(u_1,u_i),dist(u_j,u_t)\)同理分析即可

posted @ 2023-10-20 21:15  最爱丁珰  阅读(3)  评论(0编辑  收藏  举报