@ -41,9 +41,9 @@ int g[N]; // 不管以哪点为根出发,记录:从u出发把所有点都送
统计信息包括:
① mx1[u]:以u为根的子树中,u可以走的最长距离.每次变更是通过mx1[u]=max(mx1[v]+w[i])更新的
② mx2[u]:以u为根的子树中,u可以走的次长距离
③ id:
④ sz:
⑤ f:
③ id[u]: 以u为根的子树中,当获取到u可以走的最长距离时,它第一个经过的点记录到id[u]中
④ sz[u]: 以u为根的子树中,有多少个需要接的人员
⑤ f[u]: 以u为根的子树中,从u出发,接完子树中所有人员,并且,返回到u,所需要的时间
*/
void dfs1(int u, int fa) {
for (int i = h[u]; ~i; i = ne[i]) {