树的直径 两次bfs
树的直径
定义 : 树中所有最短路径的最大值即为树的直径
性质 :
性质A: 设任意一点UUU的最远的节点为VVV,则VVV一定是直径某个端点
性质B: 树的所有直径有一个公共交点
(这是某个大佬的博客的截图,太久了不知道原链接在哪里了)
求法 :
两次bfsbfsbfs (无法求负边权的树直径)
任选一个点SSS开始bfs到它的最远距离VVV
再从VVV开始bfsbfsbfs到距离VVV的最远点UUU
U,VU,VU,V就是直径两端点
树型DPDPDP (不会)
例题:
求树上所有点的
原创
2020-06-10 17:06:27 ·
373 阅读 ·
0 评论