容斥原理

容斥原理

解释

容斥原理用于求解复合事件概率或集合大小等问题

两个元素的容斥原理非常常见

\[|A \cup B|=|A|+|B|-|A \cap B| \]

扩展到一般形式,容斥原理就是求几个集合的并集大小,把每个集合的大小相加,再减去任意两个不同集合的交集,再加上任意三个不同集合的交集,再减去任意四个不同集合的交集……以此类推直到加上或减去所有集合的交集

公式

\[\left|A_1 \cup A_2 \cup\dots\cup A_n\right|=\sum_{i=1}^n\left|A_i\right|-\sum_{1\le i<j\le n}\left|A_i\cap A_j\right|+\dots+(-1)^{n-1}\left|A_i\cap\dots\cap A_n\right| \]

换成更美观简洁的形式:

\[\left|\bigcup_{i=1}^nA_i\right|=\sum_{C\subseteq B}(-1)^{size(C)-1}\left|\bigcap_{e \in C}e\right| \]

证明

我们令一个元素属于这 \(n\) 个集合中的 \(m\)

对于等式左边,求并集后这个元素只会被计算 \(1\) 次,也就是说这个元素对于等式左边的贡献为 \(1\)

对于等式右边,第一项中这个元素会被计算 \(m\) 次,也就是贡献为 \(m\),第二项中只有当这个元素同时属于 \(A_i,A_j\) 时该元素才会被计算一次,从 \(m\) 个集合中选择两个组合,组合数即为该元素被计算的次数,也就是说这个元素会被计算 \({m\choose 2}\) 次,贡献为 \(-{m\choose 2}\) ,以此类推,对于等式右侧的第 \(i\) 项,\(m\) 会被计算 \({m\choose i}\) 次,贡献为 \((-1)^{i-1}{m\choose i}\) ,所以这个元素对等式右边的贡献为

\[\sum_{i=1}^m(-1)^{i-1}{m\choose i}=-\sum_{i=1}^m(-1)^i{m\choose i}=1-\sum_{i=0}^m(-1)^i{m\choose i}=1-(1-1)^m=1 \]

对于每个元素来说,它对等式两边的贡献均为 \(1\) ,所以等式成立

应用

问题一

有6个字母W,Z,C,O,R,Z,用这六个字母进行排序,要求第一个字母不能为R和Z,最后一个字母不能为W和Z,请问共有多少种合法的排列?

考虑求解原问题的逆问题,即第一个字母为R或Z,最后一个字母为W和Z的排列方案

令六个字母任意排列方案集合为 \(U\),第一个字母为R或Z的排列方案集合为 \(A\),最后一个字母为W和Z的排列方案集合为 \(B\),则有

\[|U|=6!=720\quad|A|=2\times5!=240\quad|B|=2\times5!=240\quad|A\cap B|=2\times2\times4!=96 \]

我们要求的答案就是 \(|U|-|A\cup B|\) ,根据容斥原理有

\[\begin{align*} |U|-|A\cup B|&=|U|-(|A|+|B|-|A\cap B|)\\ &=720-(240+240-96)\\ &=336 \end{align*} \]

问题二

有两个字母C,三个字母M,四个字母Y,用这九个字母进行排序,要求相同的字母不能相邻,请问共有多少种合法的排列?

令九个字母任意排列方案集合为 \(U\),字母C全部相邻的排列方案集合为 \(C\),字母M全部相邻的排列方案集合为 \(M\),字母Y全部相邻的排列方案集合为 \(Y\),则有

\[|U|=\frac{9!}{2!3!4!}=1260\\ |C|=\frac{8!}{1!3!4!}=280\quad|M|=\frac{7!}{2!1!4!}=105\quad|Y|=\frac{6!}{2!3!1!}=60\\ |C\cap M|=\frac{6!}{1!1!4!}=30\quad|M\cap Y|=\frac{4!}{2!1!1!}=12\quad|C\cap Y|=\frac{5!}{1!3!1!}=20\\ |C\cap M\cap Y|=\frac{3!}{1!1!1!}=6 \]

我们要求的答案就是 \(|U|-|C\cup M\cup Y|\) ,根据容斥原理有

\[\begin{align*} |U|-|C\cup M\cup Y|&=|U|-(|C|+|M|+|Y|-|C\cap M|-|M\cap Y|-|C\cap Y|+|C\cap M\cap Y|)\\ &=1260-(280+105+60-30-12-20+6)\\ &=871 \end{align*} \]

问题三

Luogu P3197 [HNOI2008]越狱 点我传送

监狱有 \(n\) 个房间,每个房间关押一个犯人,有种 \(m\) 宗教,每个犯人会信仰其中一种。如果相邻房间的犯人的宗教相同,就可能发生越狱,现在给出 \(n,m\),求有多少种状态可能发生越狱?

同样考虑求原问题的逆问题,先求出总的宗教信仰可能数,再减去没有人越狱的情况就能算出答案

总的宗教信仰可能数为 \(n^m\) ,没有人越狱也就是任意相邻的两个人信仰都不同,考虑从最左边开始计算,最左侧的人的信仰有 \(m\) 种可能,对于他右边的人,每个人的信仰都不能与自己左边的人的信仰相同,所以右边的 \(n-1\) 个人的信仰都有 \(m-1\) 种可能,所以答案为 \(n^m-m(m-1)^n\)

快速幂计算即可


该文为本人原创,转载请注明出处

博客园传送门

洛谷传送门

posted @ 2021-10-08 20:35  人形魔芋  阅读(1937)  评论(0编辑  收藏  举报