容斥原理
解释
容斥原理用于求解复合事件概率或集合大小等问题
两个元素的容斥原理非常常见
扩展到一般形式,容斥原理就是求几个集合的并集大小,把每个集合的大小相加,再减去任意两个不同集合的交集,再加上任意三个不同集合的交集,再减去任意四个不同集合的交集……以此类推直到加上或减去所有集合的交集
公式
换成更美观简洁的形式:
证明
我们令一个元素属于这 \(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}\) ,所以这个元素对等式右边的贡献为
对于每个元素来说,它对等式两边的贡献均为 \(1\) ,所以等式成立
应用
问题一
有6个字母W,Z,C,O,R,Z,用这六个字母进行排序,要求第一个字母不能为R和Z,最后一个字母不能为W和Z,请问共有多少种合法的排列?
考虑求解原问题的逆问题,即第一个字母为R或Z,最后一个字母为W和Z的排列方案
令六个字母任意排列方案集合为 \(U\),第一个字母为R或Z的排列方案集合为 \(A\),最后一个字母为W和Z的排列方案集合为 \(B\),则有
我们要求的答案就是 \(|U|-|A\cup B|\) ,根据容斥原理有
问题二
有两个字母C,三个字母M,四个字母Y,用这九个字母进行排序,要求相同的字母不能相邻,请问共有多少种合法的排列?
令九个字母任意排列方案集合为 \(U\),字母C全部相邻的排列方案集合为 \(C\),字母M全部相邻的排列方案集合为 \(M\),字母Y全部相邻的排列方案集合为 \(Y\),则有
我们要求的答案就是 \(|U|-|C\cup M\cup Y|\) ,根据容斥原理有
问题三
Luogu P3197 [HNOI2008]越狱 点我传送
监狱有 \(n\) 个房间,每个房间关押一个犯人,有种 \(m\) 宗教,每个犯人会信仰其中一种。如果相邻房间的犯人的宗教相同,就可能发生越狱,现在给出 \(n,m\),求有多少种状态可能发生越狱?
同样考虑求原问题的逆问题,先求出总的宗教信仰可能数,再减去没有人越狱的情况就能算出答案
总的宗教信仰可能数为 \(n^m\) ,没有人越狱也就是任意相邻的两个人信仰都不同,考虑从最左边开始计算,最左侧的人的信仰有 \(m\) 种可能,对于他右边的人,每个人的信仰都不能与自己左边的人的信仰相同,所以右边的 \(n-1\) 个人的信仰都有 \(m-1\) 种可能,所以答案为 \(n^m-m(m-1)^n\)
快速幂计算即可
该文为本人原创,转载请注明出处