树的直径(最长的简单路径)

题解:分析一下,因为是树,因此两点之间的路径有且只有一条,为了求出欧拉路,因此必然会向回走,从递归的角度来看,假设x看做一个树根,有t个孩子y1…yt。其中每一个孩子为根的子树欧拉路都加起来,而后去掉最长的两条欧拉路做为起点和终点。因此其实就是全部边权重之和的二倍减去树的直径(即树中最长的简单路)。 因此此题的关键是求出树的直径,算是经典问题之一,有两种方法。java 树形dp:dp[x]表示通过
相关文章
相关标签/搜索