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})。
代数推导
组合意义
我们考虑一个原点在 ((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})
错排问题还有生成函数解法。