《组合数学》学习笔记

1.2 一一对应

定理 1-1 (Cayley 定理)

完全图 (K_n)(n^{n-2}) 种生成树。

书中给出的证明方式(构造 (b_{1dots (n-2)}))实际上是 Prufer 序列

1.4~1.6 排列组合的变种

圆周排列

(n) 个中选 (k) 个在圆周上进行排列,方案数以 (Q(n,k)) 表示。

根据定义可得 (Q(n,k)=dfrac{A(n,k)}{k})

可重组合

(n) 个元素中取 (r) 个,可以重复取,方案数为 (dbinom{n+r-1}{r})

证明

等价于在 ({1,2,dots,n}) 中取 (r) 个可以重复的元素 ((a_1,a_2,dots,a_r)),其中 (a_1le a_2le dots le a_r)

(a_igets a_i+i-1),那么它就转换成了从 ({1,2,dots,n+r-1}) 中选择 ((a_1,a_2,dots,a_r))(a_1<a_2<dots<a_n)(r) 元组个数,即为 (dbinom{n+r-1}{r})

反之亦然。

不相邻的组合

(A={1,2,dots,n})中取 (r) 个不相邻元素的方案数为 (dbinom{n-r+1}{r})

证明

等价于在 (A) 中取 (r) 元组 ((a_1,a_2,dots,a_r))(a_1<a_2-1,a_2<a_3-1,dots,a_{r-1}<a_r-1) 的个数。

(a_igets a_i-i+1) 即可。

反之亦然。

线性方程组的解数

线性方程 (x_1+dots+x_n=b) 的非负整数解的个数为 (dbinom{n+b-1}{b})

可重组合的证明

可以看作 (n) 个有区别的盒子内放 (b) 个无区别的球,允许一个盒子内放多个球,即为 (dbinom{n+b-1}{b})

隔板法的证明

也可以看作 ((b+1)) 个位置里放入 ((n-1)) 个隔板,且允许一个位置放多个隔板。于是它的方案数也是 (dbinom{n+b-1}{b})

1.7 组合意义

例 1-33

求证:(dbinom{n+r+1}{r}=dbinom{n+r}{r}+dbinom{n+r-1}{r-1}+dots+dbinom{n+1}{1}+dbinom{n}{0})

代数推导

[egin{aligned} mathbf{LHS} &= dbinom{n+r}{r}+dbinom{n+r}{r-1} \ &= dbinom{n+r}{r}+dbinom{n+r-1}{r-1}+dbinom{n+r-1}{r-2} \&= dots \&= mathbf{RHS} end{aligned} ]

组合意义

我们考虑一个原点在 ((0,0)) 的网格。左式即为 ((0,0) o (n+1,r)) 的路径条数。那么,从第 (n) 行到第 ((n+1)) 行,显然有 (r) 种情况:经过 ((n,r),(n,r-1),dots,(n,0)),且从这些点到 ((n+1,r)) 的路径是唯一的。于是对于每个中间点计算从 ((0,0)) 到它的路径条数即可。

例 1-35

求证:(dbinom{n}{0}+dbinom{n}{1}+dbinom{n}{2}+dots+dbinom{n}{n}=2^n)

代数推导

(egin{cases}x=1 \ y=1end{cases}) 代入二项式定理 ((x+y)^n) 即可。

组合意义

考虑一个网格,其中有一条 ((0,n)leftrightarrow (n,0)) 的线段。可以发现,这条线段上各点到 ((0,0)) 的曼哈顿距离相同,都为 (n)。所以相当于一共要走 (n) 步,每步可以向上或向右走,方案数为 (2^n)

另一种计算方法是,分别统计线段上 (n) 个点的方案数,即 (dbinom{n}{0}+dbinom{n}{1}+dbinom{n}{2}+dots+dbinom{n}{n})

两者相等,证毕。

例 1-37

求证:(dbinom{m+n}{r}=dbinom{m}{0}dbinom{n}{r}+dbinom{m}{1}dbinom{n}{r-1}+dots+dbinom{m}{r}dbinom{n}{0},rle min(n,m))

组合意义一

考虑两个集合 (A,B)(|A|=m,|B|=n),我们要从 (A,B) 中共取出 (r) 个元素,即 (dbinom{m+n}{r})

那么一共有 (r) 种取法:(A) 中取 (0dots r) 个,(B) 中取 (rdots 0) 个。对于每种情况,表示一下即可。

组合意义二

考虑一个网格,(dbinom{m+n}{r}) 即表示 ((0,0) o (m+n-r,r)) 的路径条数。

考虑一条 ((m-r,r)leftrightarrow (m,0)) 的线段。显然每条 ((0,0) o (m+n-r,r)) 的路径都需要经过这条线段上的某个点,设这个点为 ((m-x,x)),那么 ((0,0) o (m-x,x)) 的条数为 (dbinom{m}{x})((m-x,x) o (m+n-r,r)) 的条数为 (dbinom{(m+n-r)-(m-x)+(r-x)}{r-x}=dbinom{n}{r-x})。根据乘法原理,得证。

1.8 应用举例

例 1-44

在一个网格中,问 ((0,0) o (m,n)) 且经过的所有点 ((a,b)) 都要满足 (a<b) 的路径数。保证 (m<n)

首先,第一步一定是 ((0,0) o (0,1))。考虑 ((0,1) o (m,n)) 的路径中,有多少条路径是不合法的。

可以发现,一条不合法的路径一定触碰了直线 (y=x)。将这条不合法的路径做其关于 (y=x) 的对称路径,那么这个新路径就是一条 ((1,0) o (m,n)) 的路径。反之亦然,所以 ((0,1) o (m,n)) 的不合法路径与 ((1,0) o (m,n)) 的路径一一对应。

所以方案数为 (dbinom{m+n-1}{n-1}-dbinom{m+n-1}{n})

2.2 母函数

定义 2-1

对于序列 (C_0,C_1,dots) 构造一函数 (G(x)=C_0+C_1x+C_2x^2+dots) 称为序列 (C_0,C_1,dots) 的母函数。

母函数是形式幂级数,计算时不考虑其是否收敛。

3.1 De Morgan 定理

集合 (A,B) 为集合 (U) 的子集,那么有 (overline{Acup B}=overline{A}cap overline{B})(overline{A cap B}=overline{A} cup overline{B})

多元形式类似。

3.2 容斥原理

式子略,可以用数学归纳法来证。

3.3 容斥原理

例 3-10

推导“错排问题”的通项公式。

(A_i) 为第 (i) 位仍在原位的全排列形成的集合。

容易发现 (|A_1|=|A_2|=dots=|A_n|=(n-1)!)。同时可得 (|A_1cap A_2|=|A_1cap A_3|=dots=|A_{n-1}cap A_n|=(n-2)!)

(egin{aligned}|overline{A_1}cap overline{A_2}cap dots cap overline{A_n}|&= n!-n(n-1)!+dbinom{n}{2}(n-2)!-dots+(-1)^n0! \ &= n!-n!+dfrac{n!}{2!}-dfrac{n!}{3!}+dots pm 0! \ &= n!(dfrac{1}{2!}-dfrac{1}{3!}+dots pm dfrac{1}{n!}) end{aligned})

错排问题还有生成函数解法。

Written by Alan_Zhao
原文地址:https://www.cnblogs.com/alan-zhao-2007/p/comb-math.html