写的DP求树的直径,发现能够通过mmax求出直径的长度,但是不能求出直径包含哪一些点,求大佬指点一下DP求直径如何找到直径包含的点
void dfs(int u, int fa)
{
for(register int i = head[u]; ~i; i = E[i].next)
{
int v = E[i].to;
int w = E[i].w;
if(v == fa)
{
continue;
}
dfs(v, u);
mmax = max(mmax, dp[u] + dp[v] + w);
dp[u] = max(dp[u], dp[v] + w);
}
}