一、简介
在计数时,必须注意没有重复,没有遗漏。为了使重叠部分不被重复计算,人们研究出一种新的计数方法,这种方法的基本思想是:先不考虑重叠的情况,把包含于某内容中的所有对象的数目先计算出来,然后再把计数时重复计算的数目排斥出去,使得计算的结果既无遗漏又无重复,这种计数的方法称为容斥原理。
比如两个集合A,B,我们要求A∩B,A∪B == A+B-A∩B。
如三个集合,A∪B∪C == A+B+C-A∩B-A∩C-B∩C+A∩B∩C
二、非标准式:
上面介绍的两个式子都是标准式,非标准式用于题目并不是直接给出A∩B,或者A∩C、B∩C,而是给出仅仅、只满足两个集合的的有多少种情况,
这时候就要另外用到公式:A∪B∪C == A+B+C - 仅满足两个集合 - 2* A∩B∩C
三、类推
两个集合 A+B-A∩B。
三个集合 A+B+C-A∩B-A∩C-B∩C+A∩B∩C
四个集合 A+B+C + D-A∩B-A∩C-A∩D- B∩C - B∩D- C∩D +A∩B∩C+ A∩C∩D+ B∩C∩D - A∩B∩C∩D
以此类推············
满足m个集合的容斥原理
可以看出,满足m个集合的并集等于加上单个的集合减去各种两个集合的交集加上各种三个集合的交集减去各种四个集合的交集加上各种五个集合的交集·······
用一句通俗的话来讲,就是加奇数个集合的交集减去偶数个集合交集,加奇减偶
例题 hdu2204