容斥原理(Principle of inclusion-exclusion)一般应用于集合,主要对重叠部分(overlap)的处理。
在计数时,必须注意没有重复,没有遗漏。为了使重叠部分不被重复计算,人们研究出一种新的计数方法,这种方法的基本思想是:先不考虑重叠的情况,把包含于某内容中的所有对象的数目先计算出来,然后再把计数时重复计算的数目排斥出去,使得计算的结果既无遗漏又无重复,这种计数的方法称为容斥原理。
基本公式:
1. 简单的应用
在一根长的木棍上有三种刻度线,第一种刻度线将木棍分成10等份,第二种将木棍分成12等份,第三种将木棍分成15等份。如果沿每条刻度线将木棍锯断,木棍总共被锯成多少段?
分析:
很显然,要计算木棍被锯成多少段,只需要计算出木棍上共有多少条不同的刻度线,在此基础上加1就是段数了。
若按将木棍分成10等份的刻度线锯开,木棍有9条刻度线。在此木棍上加上将木棍分成12等份的11条刻度线,显然刻度线有重复的,如5/10和6/12都是1/2。同样再加上将木棍分成15等份的刻度线,也是如此。所以,我们应该按容斥原理的方法来解决此问题。用容斥原理的那一个呢?想一想,被计数的事物有那几类?每一类的元素个数是多少?
总长看成单位1分别分成10、12、15段。1/10与1/12的最小公倍数1/2,1/10与1/15的最小公倍数1/5,1/12与1/15的最小公倍数1/3,1/10,1/12和1/15的最小公倍数为1,有:
10+12+15-(2+5+3)+1=28