摘要:
HDU 6567 首先我们发现每棵树内部的距离已经固定,只有经过新边的路径才会产生贡献。 又因为重心到树上所有节点的距离和最小,所以我们连接两树重心。 然后我们想到一个经典套路:计算距离可以不枚举点,只枚举边。于是我们枚举每条边,计算出它们各自被经过的次数,再求和即为答案。 维护 \(siz_x\) 阅读全文
posted @ 2024-07-25 17:32
_KidA
阅读(48)
评论(0)
推荐(0)
摘要:
树的重心 当 \(u\) 作为根时,其节点数最大的子树最小,则称 \(u\) 为树的重心。 性质一:节点数最大的子树的节点数不超过 \(\frac{节点总数}{2}\)。 (反证法,若某重心 \(u\) 的节点数最大的子树的节点数超过 \(\frac{节点总数}{2}\),则将其一个子节点提起来会更 阅读全文
posted @ 2024-07-24 17:35
_KidA
阅读(38)
评论(0)
推荐(0)
摘要:
树的中心 当选取树上节点 \(u\) 为根时,最长链最短,则称 \(u\) 为树的中心。 性质一:至多 \(2\) 个且一定相邻。 性质二:一定位于树的直径上。 性质三:若一棵树有多条直径,则它们必定交于树的中心。 性质四:树的中心为根时,根到直径两端点分别为最长 / 次长链。 U392706 板子 阅读全文
posted @ 2024-07-24 17:00
_KidA
阅读(55)
评论(0)
推荐(0)
摘要:
树的直径: 定义:树上两个距离最远的点形成的简单路径(不重复走一条边 / 点) 性质: 不唯一。 树的直径的端点一定是度数为 \(1\) 的点。 证明:显然。 树的直径若有多条,则必交汇于一点,即中心。 证明:首先每条直径只能交于端点(因为是一棵树,一个节点不能有两个父节点),然后此交点必定为最长链 阅读全文
posted @ 2024-07-23 15:56
_KidA
阅读(56)
评论(0)
推荐(0)
摘要:
退役选手复活后的第一篇。 https://www.luogu.com.cn/problem/SP4033 其实只要一个 insert. 就是插入时没新建节点 \(\to\) 自己是别人前缀, 插入时途经了别人的结束节点 \(\to\) 别人是自己前缀。 code #include<bits/stdc 阅读全文
posted @ 2024-07-09 18:02
_KidA
阅读(37)
评论(0)
推荐(0)
浙公网安备 33010602011771号