题解:
我们考虑最后翻转的边集 $S$ ,易知最小操作数为 ${V,S}$ 中奇数度数的点的一半,最小操作总长为 $|S|$。
那么我们可以使用树形 dp ,用 $dp[i][0/1]$ 记录以 $i$ 为根的子树内,$i$ 与父亲之间的边是否翻转,最少的奇度 数点数、此时最小总长度。
代码:
1 |
|
I see you!
我们考虑最后翻转的边集 $S$ ,易知最小操作数为 ${V,S}$ 中奇数度数的点的一半,最小操作总长为 $|S|$。
那么我们可以使用树形 dp ,用 $dp[i][0/1]$ 记录以 $i$ 为根的子树内,$i$ 与父亲之间的边是否翻转,最少的奇度 数点数、此时最小总长度。
1 | #include<bits/stdc++.h> |