引入
子集反演又叫容斥原理的一般化,但我之前一直不知道怎么用子集反演推导容斥原理,现在终于会了。
推导
子集反演(补集形式):
f(S)=T⊇S∑g(T)⇔g(S)=T⊇S∑(−1)∣T∣−∣S∣f(T)
设
f(S):=钦定满足 S 中条件的元素个数=⋂i∈SAi,
g(S):=恰好满足 S 中条件的元素个数。
U 为条件的全集,
Ω 为统计对象的全集。
那么有
f(S)=S⊆T⊆U∑g(T)
于是
g(S)=S⊆T⊆U∑(−1)∣T∣−∣S∣f(T)
将
S=∅ 带入其中,得
g(∅)=T⊆U∑(−1)∣T∣i∈T⋂Ai
又有
g(∅)=∣Ω∣−i∈U⋃Ai
于是得到
i∈U⋃Ai=∅⊂T⊆U∑(−1)∣T∣−1i∈T⋂Ai