Files
handsomezhuzhu.github.io/otherdocs/离散/03_组合数学.md
2026-01-07 00:27:21 +08:00

141 lines
5.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 第三章:组合数学
## 3.0 基础数论概念 (补充)
- **完全数 (Perfect Number)**
- 一个正整数等于其所有**真因子**(即除了自身以外的约数)之和。
- *例*$6 = 1 + 2 + 3$$28 = 1 + 2 + 4 + 7 + 14$。
- *考点*:判断给定数字是否为完全数,或计算其真因子之和。
## 3.1 基础计数原理
### 3.1.1 加法与乘法原理
- **加法原理 (分类)**$S = S_1 S_2 …$ (互不相交),则 $|S| = |S_1| + |S_2| …$
- **乘法原理 (分步)**:步骤 1 有 $n_1$ 种,步骤 2 有 $n_2$ 种... 则总数为 $n_1 \times n_2 …$
### 3.1.2 排列与组合 (Notation: $C_n^r, P_n^r$)
| 模型 | 公式 | 典型场景 |
| :--- | :--- | :--- |
| **排列 (有序)** | $P_n^r = \frac{n!}{(n-r)!}$ | $n$ 人选 $r$ 人排队拍照 |
| **组合 (无序)** | $C_n^r = \frac{n!}{r!(n-r)!}$ | $n$ 人选 $r$ 人组队 |
| **可重排列** | $n^r$ | $r$ 位密码,每位 $n$ 种选择 |
| **可重组合** | $C_{n+r-1}^r$ | $n$ 种口味冰淇淋选 $r$ 球 (隔板法) |
### 3.1.3 组合恒等式
1. **对称性**$C_n^r = C_n^{n-r}$
2. **帕斯卡公式**$C_n^k = C_{n-1}^k + C_{n-1}^{k-1}$
- *组合意义*:选 $k$ 人,要么包含特定人 A ($C_{n-1}^{k-1}$),要么不包含 A ($C_{n-1}^k$)。
3. **二项式定理**$(x+y)^n = \sum_{k=0}^n C_n^k x^{n-k} y^k$
- 推论:$\sum_{k=0}^n C_n^k = 2^n$ (所有子集个数)
- 推论:$\sum_{k=0}^n (-1)^k C_n^k = 0$ (奇数个元素的子集数 = 偶数个元素的子集数)
4. **范德蒙恒等式**$C_{m+n}^r = \sum_{k=0}^r C_m^{k} C_n^{r-k}$
---
## 3.2 高级计数方法
### 3.2.1 鸽巢原理 (Pigeonhole Principle)
- **原理**$N$ 个物体放入 $k$ 个盒子,必有一个盒子至少有 $\lceil N/k \rceil$ 个物体。
- **应用技巧**:准确定义“鸽子”(物体)和“巢”(分类标准)。
- *例*:任意 13 人中必有 2 人生肖相同 ($13/12 \to 2$)。
### 3.2.2 容斥原理 (Inclusion-Exclusion)
求 $|A_1 A_2 A_n|$
- **公式**$\sum |A_i| - \sum |A_i ∩ A_j| + \sum |A_i ∩ A_j ∩ A_k| - …$
- **错排问题 ($D_n$)**$n$ 封信全部装错信封的方法数。
- $D_n = n!(1 - \frac{1}{1!} + \frac{1}{2!} - … + (-1)^n \frac{1}{n!})$
- 递推式:$D_n = (n-1)(D_{n-1} + D_{n-2})$
### 3.2.3 球盒模型 (Twelvefold Way 概览)
将 $n$ 个球放入 $k$ 个盒子:
| 球 (Label) | 盒子 (Label) | 限制 | 方案数 |
| :--- | :--- | :--- | :--- |
| 不同 | 不同 | 无 | $k^n$ |
| 不同 | 不同 | $\le 1$ | $P_k^n$ |
| **相同** | **不同** | 无 | $C_{n+k-1}^n$ (隔板法) |
| **相同** | **不同** | $\ge 1$ | $C_{n-1}^{k-1}$ (先各放1个) |
| 不同 | 相同 | 无 | $S_2(n,k)$ (第二类斯特林数) |
---
## 3.3 递推关系 (Recurrence Relations)
### 3.3.1 线性常系数齐次递推关系
形式:$a_n + c_1 a_{n-1} + … + c_k a_{n-k} = 0$
**求解步骤**
1. 写出**特征方程**$r^k + c_1 r^{k-1} + … + c_k = 0$。
2. 求特征根 $r_1, r_2, …$。
3. 写出通解结构:
- **无重根**$a_n = A_1 r_1^n + A_2 r_2^n + …$
- **有重根** (如 $r_1$ 为 $m$ 重根)$a_n = (A_1 + A_2 n + … + A_m n^{m-1}) r_1^n + …$
4. 代入初值求解常数 $A_i$。
### 3.3.2 生成函数 (Generating Functions)
- **定义**$G(x) = \sum_{n=0}^\infty a_n x^n$。
- **应用场景**
- 求解组合数:如 $(1+x)^n$ 的系数。
- 求解不定方程 $x_1 + x_2 + x_3 = k$ 的非负整数解个数。
- 构造多项式 $(1+x+x^2+…)^3$,求 $x^k$ 系数。
---
## 3.4 典型考题:不定方程解计数
**题目**:求 $x_1 + x_2 + x_3 = 15$ 的整数解个数,满足 $x_1 ≥ 1, 0 ≤ x_2 ≤ 5, x_3 ≥ 0$。
**解题思路**
1. **换元消下界**:令 $y_1 = x_1 - 1 ≥ 0$。
- 原方程变为 $(y_1+1) + x_2 + x_3 = 15 ⇒ y_1 + x_2 + x_3 = 14$。
2. **全集计算**:无上限限制时的非负整数解。
- $\displaystyle N = C_{14+3-1}^{3-1} = C_{16}^2 = 120$。
3. **容斥处理上界**
- 坏条件 $P_1$$x_2 ≥ 6$ (即原题 $x_2 > 5$)。
- 在坏条件 $P_1$ 下,令 $z_2 = x_2 - 6 ≥ 0$。
- 方程变为 $y_1 + (z_2+6) + x_3 = 14 ⇒ y_1 + z_2 + x_3 = 8$。
- $|P_1| = C_{8+3-1}^2 = C_{10}^2 = 45$。
4. **最终结果**$Ans = N - |P_1| = 120 - 45 = 75$。
---
## 3.5 典型考题:常系数齐次线性递推关系求解
**题目**:求解递推关系 $a_n = 7a_{n-1} - 16a_{n-2} + 12a_{n-3}$,初始条件为 $a_0 = 0, a_1 = 4, a_2 = 18$。
**解题步骤**
1. **构造特征方程**
将递推式移项得 $a_n - 7a_{n-1} + 16a_{n-2} - 12a_{n-3} = 0$。
对应的特征方程为:
$r^3 - 7r^2 + 16r - 12 = 0$
2. **求解特征根**
观察系数,尝试代入 $r=2$$8 - 28 + 32 - 12 = 0$,故 $(r-2)$ 是因子。
多项式除法分解得:
$(r-2)(r^2 - 5r + 6) = 0$
$(r-2)(r-2)(r-3) = 0$
解得特征根:$r_1 = 2$ (二重根)$r_2 = 3$ (单根)。
3. **写出通解结构**
对于二重根 $2$ 和单根 $3$,通解形式为:
$a_n = (C_1 + C_2 n) \cdot 2^n + C_3 \cdot 3^n$
4. **代入初始条件求解常数**
- 当 $n=0$ 时:$C_1 + C_3 = 0 \implies C_3 = -C_1$
- 当 $n=1$ 时:$(C_1 + C_2) \cdot 2 + 3C_3 = 4$
- 当 $n=2$ 时:$(C_1 + 2C_2) \cdot 4 + 9C_3 = 18$
将 $C_3 = -C_1$ 代入后两式:
- $2C_1 + 2C_2 - 3C_1 = 4 \implies -C_1 + 2C_2 = 4$
- $4C_1 + 8C_2 - 9C_1 = 18 \implies -5C_1 + 8C_2 = 18$
联立求解:
由第一式得 $C_1 = 2C_2 - 4$,代入第二式:
$-5(2C_2 - 4) + 8C_2 = 18$
$-10C_2 + 20 + 8C_2 = 18$
$-2C_2 = -2 \implies C_2 = 1$
回代得 $C_1 = 2(1) - 4 = -2$
$C_3 = -(-2) = 2$
5. **最终解**
$a_n = (-2 + n) \cdot 2^n + 2 \cdot 3^n$
或整理为:
$a_n = (n-2)2^n + 2 \cdot 3^n$