LOADING

加载过慢请开启缓存 浏览器默认开启

12.计数原理II

果然直接截图很好吧,为什么要手打公式呢(

容斥原理


韦恩图是一个很好的表示方法。从此图以及加法原理有:

结合以上三个公式,可以看到如果把两个集合的势相加,交集被多算了一次,所以

类似地,对于三个集合

但如果我们直接减去两两的交,又会多减去一些

那么就可以看出需要加回去三个集合的交集的势

类似地可以推广到 $n$ 个集合的情形,我们有如下定理:

$$ \begin{aligned} |A_1 \cup A_2 \cup \dots \cup A_n| = & \sum_{i=1}^{n} |A_i| \\ & - \sum_{1 \le i_1 < i_2 \le n} |A_{i_1} \cap A_{i_2}| \\ & + \sum_{1 \le i_1 < i_2 < i_3 \le n} |A_{i_1} \cap A_{i_2} \cap A_{i_3}| \\ & - \dots + (-1)^{n-1} |A_1 \cap A_2 \cap \dots \cap A_n| \end{aligned} $$

更优雅地,我们写成:

$$ \sum_{k=1}^{n} (-1)^{k+1} \sum_{\substack{S \subseteq \{1, \dots, n\} \\ \text{s.t. } |S|=k}} \left| \bigcap_{i \in S} A_i \right| $$

这就是容斥原理。

Ex.有一个包含 $0$到$9$的整数集合,他的排列中有多少至少满足下面三个之一条件:$4$后面是$2$ (后简写),$60$,$04$?

仍然高中题,但是我们审慎地思考我们在做什么:

首先我们要计算符合条件的集合 $S$的势,这不好求,我们构造双射把他转换成容易求的$P$ 。$P$是$42$和其他剩下的数字的排列,容易验证这就是双射,所以$|P|=|S|$,那么我们算$|P|$就好了。由于$P$的元素都不同,这就是一个全排列,于是$|S|=|P|=9!$ 。

接下来我们看看有多少排列同时满足 $42,60$,类似地建立双射,变成$42$,$60$和其他数字的排列,得到势为$8!$。如果是$04,60$呢,那就是$604$和其他数字的排列,还是$8!$。类似地,我们可以得到三个集合的交。最后利用容斥原理,三个集合的并的势就是$3\times 9!-3\times 8!+7!$ 。

bookkeeper rule

什么叫簿记员规则(
总之是说,一个序列有 $n_i$个重复的字符$l_i$ ,那么能组成的字符串个数就是:

$$ \frac{(n_1+n_2+...+n_k)!}{n_1!\cdot n_2!\cdot \cdot \cdot n_k!}=\dbinom{n_1+...+n_k}{n_1,...,n_k} $$

$k=2$ 的时候实际上就是二项式

$$ \dbinom{n}{k}=\dbinom{n}{n,n-k} $$

二项式定理:

$$ \forall n,(a+b)^n=\sum_{k=0}^n \dbinom{n}{k}a^kb^{n-k} $$

拆成 $n$个东西相乘就能很好地匹配$n$选$k$ 的意义。

Ex. 抓五张扑克牌(52张),抓到四张一样的情况有多少种?

同样双射,映射到 $(一样的牌的大小,剩下的牌的大小,剩下的牌的花色)$,那么就利用乘法原理得到 $13\times 12\times 4$ 。

如果三带二呢,用CSHD表示花色,同样可以构造双射:

然后:
第一个牌的大小:13
第二个是四选三:$\binom{4}{3}=4$
第三个是另一个值:12
最后是两张牌的花色:$\binom{4}{2}=6$
最后利用乘法原理得到结果。

这一切都和高中朴素的直觉非常吻合呢。高中老师对排列组合题强调的所谓策略,其实就是建立双射的方法。

有时候建立的未必是双射,那就要利用除法原则。

Ex. {1,2,3}要拍照,{1,2}要待一起。我们建立映射到{12,3},那么注意到{1,2,3}和{2,1,3}都被映射到{12,3},因而需要有一个 $2$ 的因子。

算两次
要从 $n$人里面选$k$个代表,要么选了$X$要么没选,分别对应$\binom{n-1}{k-1}$和$\binom{n-1}{k}$ ,那么也就有

$$ \dbinom{n-1}{k-1}+\dbinom{n-1}{k}=\dbinom{n}{k} $$

这是组合问题的一种常见证明方法。
另一个问题:

$$ \sum_{r=0}^n\dbinom{n}{r}\dbinom{2n}{n-r}=\dbinom{3n}{n} $$

[!证明]
记 $S$是从$n$个红球和$2n$个绿球中选$n$ 个球的集合。
$|S|=\dbinom{3n}{n}$,因为这就是$3n$个球选$n$ 个。

考虑选 $r$个红球的情况,那么就选了$n-r$个绿球,那么就有$\dbinom{n}{r}\dbinom{2n}{n-r}$种情况。对所有的情况求和就得到了$|S|$ 。

综合以上两种算法得到原等式成立。