树的直径 树的直径是指树中两个点之间的最大距离,即最长的一条链。 容易证明(信奥不需要证明),树的直径的起始点是该树的叶子节点。 求树的直径一般有两种方法,一种是两遍\(dfs\),另一种是树形\(DP\)。 两遍dfs 我们随便从一个点\(u\)出发,然后去寻找一个离这个点最远的一个点\(v\)。 然后再从这个点v出发去寻找最长链。 void dfs(int x,int p) { for(re int i = head[x] ; i ; i = t[i].next) { int v = t[i].to; if(vis[v]) contin...