我的是错的,我想不出来QAQ
void dfs(int u, int f) { if (head[u] == 0) dp_odd[u] = 1; for(int i = head[u]; i; i = nxt[i]) { int v = to[i]; dfs(v, u); dp_odd[u] += dp_odd[v] + dp_even[v]; dp_even[u] += dp_odd[v]; } }