欢迎来踩本人博客
 树的直径:
 就是树上最长路
 方法 :
 求两边DFS即可
步骤:
 1.从任意一点进行dfs,然后找到一个最长路径,记录最远点u
 2.然后从u再进行dfs,找最长路径,记录一点v。
 (u,v)就是树的直径
证明:可以看这个视频的第27:00(求树直径的原理和证明)
第四届蓝桥杯a组
证明:
 
 我们可以看出图中,树的直径是(4->2->5),长度为9.
 我们一开始选定一个点dfs
 如果是直径外一点,比如w1,从w1进行dfs找到的就是点4,路径就1->2->4,这个路径一定会与树的直径相交,而找到的4是直径的一端,那从4再进行dfs就是树的直径的另一端5,这样两遍dfs你就找到了树的直径
 如果是直径内一点,比如w2,从w2开始dfs找到的最远点4,这个路径会被包含在树的直径里,那找到的点也就是树直径的一端,再dfs就可以找到另一端。
 综上用两遍dfs就可以找到树的直径