容斥原理在集合论、概率论、组合数学中都常常出现,它是下面一个结论的推广。
这是因为,我们分别减|A|、|B|的时候,把|AB|减掉了两次,因此这里应该再加一次。
它的推广形式就是容斥定理。
在给出证明之前,我们很有必要充分的理解一下这个公式的内涵。我们基于S集合上的一系列离散元素上讨论不满足m个性质的对象(元素)个数。我们假想某一种性质的具体表现为:一根丝带,圈住了满足这一条性质的所有元素(本质上就是画Venn图),现在我们想要求的就是没有被特定的m条丝带圈出的元素个数。
这个定理再利用德摩根律能够做出等价变化,它在计数、反演公式等方面发挥着重要作用。
下面开始结合一些具体的例子来拓展和深化对容斥定理的理解。
错位排列:
首先直观的解释什么是错位排列,然后我们再去探讨它如何与容斥原理结合起来.
所谓错位排列,举个最简单的例子,在一个宴会上,10位绅士都有着自己的帽子,将这些帽子混合起来,10位绅士各自拿了一个帽子,考察每一位绅士发现,他们手中的帽子均不是自己原本的帽子,那么这就是一种错位排列,我们关心的是,有多少种这样的错位排列?
关于错位排列,我们继续讨论一些内容。通过上面利用容斥定理这个角度看错排,我们得到了一个概率的极限结果,现在我们讨论一个易于计算错排公式的方法。
一个具有限制位置的计数问题:
假设一天8个男生按照标号1,2…7,8的序号站队去晨跑,第二天老师想要换一下站队顺序,要求是每个男孩前面的男孩都不是他昨天前面的男生,那么请问有多少种符合的排列方式?
简单的讲,就是说8的全排列中,不含12,23,…,78的排列个数.