首页 > 其他 > 详细

[图论]树的直径小结

时间:2014-01-16 21:33:57      阅读:465      评论:0      收藏:0      [点我收藏+]

树上直径小结

By Wine93 2013.10

 

1. 求树的直径 

算法:任选一点u为起点,对树进行DFS(BFS)遍历,找出离u最远的点v
以v为起点,再进行DFS(BFS)遍历,找出离v最远的点w。则v到w的路径长度即为树的直径

原理: 设起点为u,第一次DFS(BFS)找到的终点v一定是树的直径的一个端点

证明:可参考wuyiqi巨巨的证明

   http://www.cnblogs.com/wuyiqi/archive/2012/04/08/2437424.html

  

2. 树的直径应用举例

一.模板题    --POJ 1985 Cow Marathon --POJ 2631 Roads in the Norths 

二 .求一条路径,使该路径外的节点到该路径距离的最大值最小。这条路径即为树的直径(证明较简单)    --POJ 3310 Caterpillar

三.求树上每一点的最长路径:可先搜出树的直径(s-t),再从树的2个端点进行搜索,2个的最大值即为该点的答案(证明较简单) --lightoj 1257 树的直径

四.求从树上任意点出发走k个点总路径和最小   --HDU 4607 Park Visit

[图论]树的直径小结

原文:http://www.cnblogs.com/Wine93/p/3521163.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!