简单的容斥DP。
考虑容斥,钦定某些边不被任何路径经过。这样就将原树分为了若干个连通块,每个连通块内部需要两两匹配,注意这样的每个连通块需要有偶数个点。
考虑DP,设 F [ i ] [ j ] F[i][j] F[i][j]表示考虑以点 i i i为根的子树, i i i所在的连通块有 j j j个点,除 i i i所在的连通块以外的点已经容斥后匹配好了的贡献。转移的时候大致是合并若干个子树的背包,并讨论一下跟父亲的边是否容斥掉即可。
时间复杂度 O ( N 2 ) \mathcal O(N^2) O(N2
Atcoder arc101E
最新推荐文章于 2022-11-01 15:28:46 发布