容斥
就是这么一个公式:
因为本人太弱,不会严谨的数学证明,感性理解一下就是把那些重复的元素去掉就行了。
容斥的套路挺多的,还是要多做题。。。
广义容斥
貌似也叫二项式反演,总共有3种形式,但常用的只有两种:
1.若
[f(n)=sumlimits_{i=0}^{n}inom{n}{i}g(i)
]
那么
[g(n)=sumlimits_{i=0}^{n}(-1)^{n-i}inom{n}{i}f(i)
]
具体到做题中,通常(f(i))代表的是至多选(i)个的方案数,(g(i))代表的是恰好选(i)个的方案数,那么它们一定满足上面第一个式子(不会证啊)。而且通常是(f(i))好求,那我们就可以把(g(i))给反演出来了
2.若
[f(k)=sumlimits_{i=k}^{n}inom{i}{k}g(i)
]
那么
[g(k)=sumlimits_{i=k}^{n}(-1)^{i-k}inom{i}{k}f(i)
]
和上面差不多,通常(f(k))代表的是至少选(k)个的方案数,(g(k))代表的是恰好选(k)个的方案数,那么它们也一定满足(2)中的第一个式子。而且通常是(f(i))好求,那我们也就可以把(g(i))给反演出来了
这两个反演的证明就是带入+一个小小的组合恒等式
那两个式子一定要记牢(真的没有找到证明)
广义容斥貌似跟(dp)结合的非常多,因为要去求(f(i))嘛