ZJOI2016 小星星
求一个从 树 (T) 到 图 (S) 的映射,使得树上的两个点如果在树上有边,也会在图上有边,并且两个点不可以映射到同一个点上。
(nle 17,mle frac{n(n-1)}{2})
( m Sol:)
遇事不决,容斥当前。
先考虑一个暴力做法,我们设 (f_{i,j,S}) 表示考虑以 (i) 为根的子树,(i) 映射到了点 (j),点 (i) 处的内部映射状态为 (S) 的方案数,转移直接枚举子集,容易验证链的情况复杂度最劣,为 (mathcal O(3^n imes n))
然而考虑容斥原理,我们试图让图的映射是可重的,那么设 (G(S)) 表示最后映射结果满足为 (S) 的子集的方案数,根据容斥原理,我们容易得到答案。
枚举集合 (S),然后直接做树形 dp 即可,复杂度为 (mathcal O(2^n imes n^3))