Skip to content

Commit be053bd

Browse files
committed
Reroot codegolf
1 parent 2a4ce4b commit be053bd

1 file changed

Lines changed: 3 additions & 8 deletions

File tree

content/graphs/Reroot.h

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -20,20 +20,15 @@ vector<T> dp, dpr;
2020

2121
T dfs(int u, int p) {
2222
dp[u] = init();
23-
for (int v : adj[u]) {
24-
if (v == p) continue;
23+
for (int v : adj[u]) if (v != p)
2524
dp[u] = combine(dp[u], dfs(v, u));
26-
}
2725
return dp[u];
2826
}
2927

3028
T dfsr(int u, int p, T dpr_p = init()) {
3129
dpr[u] = dp[u];
3230
if (p != u) dpr[u] = combine(dpr[u], dpr_p);
33-
for (int v : adj[u]) {
34-
if (v == p) continue;
35-
T dec = decombine(dpr[u], dp[v]);
36-
dfsr(v, u, dec);
37-
}
31+
for (int v : adj[u]) if (v != p)
32+
dfsr(v, u, decombine(dpr[u], dp[v]));
3833
return dpr[u];
3934
}

0 commit comments

Comments
 (0)