排列与组合
基本原理
加法原理
{S1,S2,⋯ ,Sn}\{ S_1 , S_2, \cdots , S_n\}{S1,S2,⋯,Sn} is a partition of SSS then :
∣S∣=∑i=1n∣Si∣ |S| = \sum_{i=1}^{n} {|S_i |}∣S∣=i=1∑n∣Si∣
乘法原理
SSS is the set of some ordered pair<a,b><a,b><a,b>, if S={<a,b>∣a∈P,b∈Q}S = \{ <a,b> | a \in P , b \in Q \}S={<a,b>∣a∈P,b∈Q} then:
∣S∣=∣P∣×∣Q∣|S| = |P| \times |Q|∣S∣=∣P∣×∣Q∣
减法原理
S‾\overline{S}S is the commplement set of SSS , when UUU is the universal set :
S=∣U∣−∣S‾∣S = |U| - |\overline{S}|S=∣U∣−∣S∣
除法原理
If there is a k-to-1 correspondence between of objects of type A with objects of type B, and there are ∣A∣|A|∣A∣ objects of type A, then there are∣A∣k\frac{|A|}{k}k∣A∣ objects of type B.
基本计数问题
在计数之前需要弄清楚:
- 是否有序
- 是否有标号
- 是否有限制条件
- 有限集还是无限集
- 是否可重
- 尝试一个小例子验证上述问题
排列数
P(n,r)P(n,r)P(n,r)表示从nnn个元素中有序地选择rrr个元素的方案数。P(n,r)=n!(n−r)!P(n,r) = \frac{n!}{(n-r)!}P(n,r)=(n−r)!n!
其中循环排列的个数是P(n,r)r\frac{P(n,r)}{r}rP(n,r)。
组合数
(nr)\binom{n}{r}(rn)表示从nnn个元素中选择-rrr个元素作为一个集合的方案数(无序)。通常 (nr)=n!r!(n−r)! \binom{n}{r} = \frac{n!}{r!(n-r)!} (rn)=r!(n−r)!n!
特别的规定(00)=1\binom{0}{0} = 1(00)=1
二项式系数的特征
二项式定理
组合数又称做二项式系数,这是因为知名的二项式定理
(x+y)n=∑i=0n(ni)xiyn−i (x+y)^n = \sum_{i=0}^{n} \binom{n}{i} x^i y^{n-i} (x+y)n=i=0∑n(in)xiyn−i
一个特例是:∑i=0n(ni)=2n\sum_{i=0}^{n} \binom{n}{i} = 2^ni=0∑n(in)=2n表示组合数的和。
另一个特例是:选择奇数个元素和偶数个元素的方案数一样多∑i=0n(−1)i(ni)=0\sum_{i=0}^{n} (-1)^{i} \binom{n}{i} = 0i=0∑n(−1)i(in)=0
比例关系
-
(nr−1)(n−r+1)=(nr)r \binom{n}{r-1} (n-r+1) = \binom{n}{r} r (r−1n)(n−r+1)=(rn)r
这变相的解释了组合数(ni)\binom{n}{i}(in)关于iii的最值。
-
(n−1r−1)n=(nr)r\binom{n-1}{r-1} n = \binom{n}{r} r(r−1n−1)n=(rn)r
Pascal
(nr)=(n−1r)+(n−1r−1) \binom{n}{r} = \binom{n-1}{r} + \binom{n-1}{r-1} (rn)=(rn−1)+(r−1n−1)
对称性
(nr)=(nn−r) \binom n r = \binom n {n-r}(rn)=(n−rn)
组合数的和
(n+1r+1)=(nr)+(n−1r)+⋯+(rr) \binom {n+1} {r+1} = \binom n r + \binom {n-1} r + \cdots + \binom r r (r+1n+1)=(rn)+(rn−1)+⋯+(rr)
组合数的卷积(Vandermonde卷积)
(n+mk)=∑i=0k(ni)(mk−i) \binom {n+m} k = \sum_{i=0}^{k} \binom n i \binom m {k-i} (kn+m)=i=0∑k(in)(k−im)
(2nn)=∑i=0n(ni)2\binom {2n} n = \sum_{i=0}^{n} {\binom n i}^2(n2n)=i=0∑n(in)2
二项式反演
利用组合数在两类计数序列中可以建立下述联系
fn=∑i=0n(−1)i(ni)gi⇔gn=∑i=0n(−1)i(ni)fi f_n = \sum_{i=0}^{n} (-1)^{i} \binom{n}{i} g_i \Leftrightarrow g_n = \sum_{i=0}^{n} (-1)^{i} \binom n i f_i fn=i=0∑n(−1)i(in)gi⇔gn=i=0∑n(−1)i(in)fi
fn=∑i=0n(ni)gi⇔gn=∑i=0n(−1)n−i(ni)fi f_n = \sum_{i=0}^{n} \binom{n}{i} g_i \Leftrightarrow g_n = \sum_{i=0}^{n} (-1)^{n-i} \binom n i f_i fn=i=0∑n(in)gi⇔gn=i=0∑n(−1)n−i(in)fi
一个经典的策略是解决错排问题,假设已知错排数为DnD_nDn则有
n!=∑i=0n(ni)Din! = \sum_{i=0}^{n} \binom n i D_in!=i=0∑n(in)Di 即枚举每种排列中错位的位置,并对这些位置错排。
故
Dn=∑i=0n(−1)n−i(ni)i!=∑i=0n(−1)n−in!(n−i)!=n!∑i=0n(−1)ii! \begin{aligned} D_n & = \sum_{i=0}^n (-1)^{n-i} \binom n i i! \\ & = \sum_{i=0}^n (-1)^{n-i} \frac{n!}{(n-i)!} \\ & = n! \sum_{i=0}^{n} \frac{(-1)^i}{i!} \end{aligned} Dn=i=0∑n(−1)n−i(in)i!=i=0∑n(−1)n−i(n−i)!n!=n!i=0∑ni!(−1)i
多重集合排列
问题定义,有kkk中元素,有序选出其中rrr个元素的排列数:
- 无限情形 krk^rkr
- 有限情形,第iii中元素有nin_ini个,r=∑nir = \sum {n_i}r=∑ni ,则r!n1!n2!⋯nk!\frac{r!}{n_1 ! n_2 ! \cdots n_k !}n1!n2!⋯nk!r!。这同样是把一个集合划分成kkk个有标号的集合的方案数。
- 有限情形的另一个情况需要生成函数。考虑每种元素对应的如下多项式,若有无限个,对应fi(x)=exf_i(x) = e^xfi(x)=ex,如果为kkk个对应fi(x)=∑i=0kxii!f_i(x) = \sum_{i=0}^{k} \frac{x^i}{i!}fi(x)=i=0∑ki!xi,故求∏fi(x)\prod f_i(x) ∏fi(x)可以得到其指数生成函数。
多重集合的组合
问题定义,有kkk中元素,选出其中rrr个元素的组合数:
- 无限情形 (r+k−1r)=(r+k−1k−1)\binom {r+k-1} r = \binom {r+k-1}{k-1}(rr+k−1)=(k−1r+k−1)
- 有限情形 {a1⋅k1,a2⋅k2,⋯an⋅kn}\{a_1 \cdot k_1, a_2 \cdot k_2 , \cdots a_n \cdot k_n\}{a1⋅k1,a2⋅k2,⋯an⋅kn}这样的有穷集合。
- 对于ai⋅kia_i \cdot k_iai⋅ki 考虑问题的反面,即不满足此条件的方案数为AiA_iAi
- 问题变成 ∣⋂Ai‾∣=∑s′∈2A(−1)∣s′∣s′| \bigcap \overline{A_i} | = \sum_{ s' \in 2^A } (-1)^{|s'|} s'∣⋂Ai∣=s′∈2A∑(−1)∣s′∣s′
- 按照情况枚举所有可能即可。
- 对于有下界的情形,做换元即可。
本文深入讲解排列与组合的基本原理,包括加法、乘法、减法及除法原理,探讨基本计数问题,并详细解析排列数与组合数的计算方法。通过二项式定理、比例关系等揭示组合数的特性,同时介绍多重集合排列与组合的应用。

被折叠的 条评论
为什么被折叠?



