main
黄海 2 years ago
parent 8f545a28b1
commit 0b4649b05e

@ -21,23 +21,15 @@ void dfs(int u, int fa) {
for (int i = h[u]; ~i; i = ne[i]) { // 枚举u的每一条出边
int v = e[i];
if (v == fa) continue;
dfs(v, u);
sz[u] += sz[v];
dfs(v, u); // 先把v为根的子树遍历完
sz[u] += sz[v]; // 把 v中获取填充的sz[v]值用于组装自己sz[u]
son[u] = max(son[u], sz[v]);
}
son[u] = max(son[u], n - sz[u]);
if ((son[u] << 1) <= n) r2 = r1, r1 = u;
}
/*
1 2
1 2
1 3
2 3
*/
signed main() {
#ifndef ONLINE_JUDGE
freopen("CF1406C.in", "r", stdin);
#endif
int T;
cin >> T;
while (T--) {

Loading…
Cancel
Save