0%
✦
• 6 min read • 学习笔记 • 学习路线

组合学笔记 (Part 1): 基础计数与偏序集

组合学学习笔记(上):集合与加乘原理、排列组合与恒等式、偏序集、链与反链、容斥原理与莫比乌斯反演。

这是 组合学笔记 系列的第一期。

1. 集合与加乘原理

1.1 集合的基本概念

定义 1.1(集合) 集合是由确定的不同对象组成的整体,这些对象称为集合的元素。

一般用大写字母 A,B,C,…A, B, C, \ldots 表示集合,用小写字母 a,b,c,…a, b, c, \ldots 表示元素。

  • 若 aa 是集合 AA 的元素,记作 a∈Aa \in A(读作”aa 属于 AA”)
  • 若 aa 不是集合 AA 的元素,记作 a∉Aa \notin A(读作”aa 不属于 AA”)

定义 1.2(集合的表示法) 集合主要有两种表示方法:

  1. 列举法:将集合的所有元素一一列举出来,用花括号括起来。 A={1,2,3,4,5}A = \{1, 2, 3, 4, 5\}

  2. 描述法:用集合中元素所满足的性质来描述集合。 A={x∣x 是正整数,x≤5}A = \{x \mid x \text{ 是正整数}, x \leq 5\}

定义 1.3(空集) 不含任何元素的集合称为空集,记作 ∅\varnothing 或 ∅\emptyset。

定义 1.4(全集) 在特定问题中,包含所讨论的所有元素的集合称为全集,通常记作 UU 或 Ω\Omega。

1.2 集合间的关系

定义 1.5(子集) 设 A,BA, B 是两个集合,若对于任意 x∈Ax \in A 都有 x∈Bx \in B,则称 AA 是 BB 的子集,记作 A⊆BA \subseteq B 或 B⊇AB \supseteq A。

定义 1.6(真子集) 若 A⊆BA \subseteq B 且 A≠BA \neq B,则称 AA 是 BB 的真子集,记作 A⊊BA \subsetneq B。

定义 1.7(集合相等) 若 A⊆BA \subseteq B 且 B⊆AB \subseteq A,则称集合 AA 与 BB 相等,记作 A=BA = B。

定理 1.1(子集的基本性质) 设 A,B,CA, B, C 是任意集合,则:

  1. 自反性:A⊆AA \subseteq A
  2. 反对称性:若 A⊆BA \subseteq B 且 B⊆AB \subseteq A,则 A=BA = B
  3. 传递性:若 A⊆BA \subseteq B 且 B⊆CB \subseteq C,则 A⊆CA \subseteq C
  4. 空集是任何集合的子集:∅⊆A\varnothing \subseteq A

1.3 集合的运算

定义 1.8(并集) 集合 AA 与 BB 的并集定义为: A∪B={x∣x∈A 或 x∈B}A \cup B = \{x \mid x \in A \text{ 或 } x \in B\}

定义 1.9(交集) 集合 AA 与 BB 的交集定义为: A∩B={x∣x∈A 且 x∈B}A \cap B = \{x \mid x \in A \text{ 且 } x \in B\}

若 A∩B=∅A \cap B = \varnothing,则称 AA 与 BB 不相交。

定义 1.10(差集) 集合 AA 与 BB 的差集定义为: A∖B={x∣x∈A 且 x∉B}A \setminus B = \{x \mid x \in A \text{ 且 } x \notin B\}

定义 1.11(补集) 设 UU 为全集,A⊆UA \subseteq U,则 AA 的补集定义为: A‾=U∖A={x∣x∈U 且 x∉A}\overline{A} = U \setminus A = \{x \mid x \in U \text{ 且 } x \notin A\}

定理 1.2(德摩根律) 设 A,BA, B 是全集 UU 的子集,则:

  1. A∪B‾=A‾∩B‾\overline{A \cup B} = \overline{A} \cap \overline{B}
  2. A∩B‾=A‾∪B‾\overline{A \cap B} = \overline{A} \cup \overline{B}

1.4 幂集

定义 1.12(幂集) 集合 AA 的所有子集组成的集合称为 AA 的幂集,记作 P(A)\mathcal{P}(A) 或 2A2^A,即: P(A)={X∣X⊆A}\mathcal{P}(A) = \{X \mid X \subseteq A\}

定理 1.3(幂集的基数) 若 ∣A∣=n|A| = n(即 AA 含有 nn 个元素),则: ∣P(A)∣=2n|\mathcal{P}(A)| = 2^n

1.5 加法原理

定理 1.4(加法原理,分类计数原理) 设完成一件事有 kk 类不同的方法,第 ii 类方法有 nin_i 种具体的方式(i=1,2,…,ki = 1, 2, \ldots, k),且任何两类方法之间没有公共的方式(即各类方法互斥),则完成这件事共有: N=n1+n2+⋯+nk=∑i=1kniN = n_1 + n_2 + \cdots + n_k = \sum_{i=1}^{k} n_i 种不同的方法。

1.6 乘法原理

定理 1.5(乘法原理,分步计数原理) 设完成一件事需要 kk 个步骤,第 ii 步有 nin_i 种不同的方法(i=1,2,…,ki = 1, 2, \ldots, k),且各步的选择相互独立,则完成这件事共有: N=n1×n2×⋯×nk=∏i=1kniN = n_1 \times n_2 \times \cdots \times n_k = \prod_{i=1}^{k} n_i 种不同的方法。


2. 组合数排列数与恒等式

2.1 排列数

定义(排列) 从 nn 个不同元素中取出 kk 个元素(0≤k≤n0 \leq k \leq n),按照一定顺序排成一列,称为从 nn 个元素中取 kk 个元素的一个排列。所有不同排列的个数称为排列数,记作 P(n,k)P(n,k) 或 AnkA_n^k。

公式: P(n,k)=n!(n−k)!=n(n−1)(n−2)⋯(n−k+1)P(n,k) = \frac{n!}{(n-k)!} = n(n-1)(n-2)\cdots(n-k+1)

特例:当 k=nk = n 时,P(n,n)=n!P(n,n) = n!,即 nn 个元素的全排列数为 n!n!。

2.2 组合数

定义(组合) 从 nn 个不同元素中取出 kk 个元素(0≤k≤n0 \leq k \leq n),不考虑顺序,称为从 nn 个元素中取 kk 个元素的一个组合。所有不同组合的个数称为组合数,记作 (nk)\binom{n}{k} 或 CnkC_n^k。

公式: (nk)=n!k!(n−k)!=n(n−1)⋯(n−k+1)k!\binom{n}{k} = \frac{n!}{k!(n-k)!} = \frac{n(n-1)\cdots(n-k+1)}{k!}

约定:当 k<0k < 0 或 k>nk > n 时,规定 (nk)=0\binom{n}{k} = 0。

性质 1:边界值 (n0)=(nn)=1,(n1)=(nn−1)=n\binom{n}{0} = \binom{n}{n} = 1, \quad \binom{n}{1} = \binom{n}{n-1} = n

性质 2:对称性 (nk)=(nn−k)\binom{n}{k} = \binom{n}{n-k}

2.3 帕斯卡恒等式

定理(Pascal’s Identity):对于整数 n≥1n \geq 1 和 0≤k≤n0 \leq k \leq n,有: (nk)=(n−1k−1)+(n−1k)\binom{n}{k} = \binom{n-1}{k-1} + \binom{n-1}{k}

组合证明:考虑集合 S={1,2,…,n}S = \{1, 2, \ldots, n\},将所有 kk 元子集按是否包含元素 nn 分成两类:

  • 包含元素 nn 的 kk 元子集:需要从其余 n−1n-1 个元素中选 k−1k-1 个,个数为 (n−1k−1)\binom{n-1}{k-1}
  • 不包含元素 nn 的 kk 元子集:需要从其余 n−1n-1 个元素中选 kk 个,个数为 (n−1k)\binom{n-1}{k}

由加法原理即得结论。

2.4 范德蒙德恒等式

定理(Vandermonde’s Identity):对于非负整数 m,n,rm, n, r(其中 r≤min⁡{m,n}r \leq \min\{m,n\}),有: (m+nr)=∑k=0r(mk)(nr−k)\binom{m+n}{r} = \sum_{k=0}^{r} \binom{m}{k}\binom{n}{r-k}

组合证明:考虑两个不相交的集合 AA 和 BB,其中 ∣A∣=m|A| = m,∣B∣=n|B| = n。

  • 左边:(m+nr)\binom{m+n}{r} 表示从 A∪BA \cup B 中选取 rr 个元素的方法数。
  • 右边:按从 AA 中选取的元素个数 kk 分类,方法数为 (mk)(nr−k)\binom{m}{k}\binom{n}{r-k}

推论 1(Chu-Vandermonde):令 m=n=rm = n = r,得: ∑k=0n(nk)2=(2nn)\sum_{k=0}^{n} \binom{n}{k}^2 = \binom{2n}{n}

2.5 二项式定理

定理:对于任意实数 x,yx, y 和正整数 nn,有: (x+y)n=∑k=0n(nk)xn−kyk(x+y)^n = \sum_{k=0}^{n} \binom{n}{k} x^{n-k} y^k

推论 1:令 x=y=1x = y = 1,得: ∑k=0n(nk)=2n\sum_{k=0}^{n} \binom{n}{k} = 2^n

推论 2:令 x=1,y=−1x = 1, y = -1,得: ∑k=0n(−1)k(nk)=0(n≥1)\sum_{k=0}^{n} (-1)^k \binom{n}{k} = 0 \quad (n \geq 1)

2.6 曲棍球棒恒等式(Hockey-Stick Identity)

定理:对于 0≤r≤n0 \leq r \leq n: ∑k=rn(kr)=(n+1r+1)\sum_{k=r}^{n} \binom{k}{r} = \binom{n+1}{r+1}

2.7 插板法(Stars and Bars)

问题:将 nn 个相同的小球放入 mm 个不同的盒子,允许空盒,有多少种方法?

定理:方法数为: (n+m−1m−1)=(n+m−1n)\binom{n+m-1}{m-1} = \binom{n+m-1}{n}

不允许空盒的情形:方法数为 (n−1m−1)\binom{n-1}{m-1}(要求 n≥mn \geq m)

2.8 算两次原理(Double Counting)

原理:对同一组对象用两种不同方式计数,所得结果相等。

例题(证明 k(nk)=n(n−1k−1)k\binom{n}{k} = n\binom{n-1}{k-1}):

算两次对象:从 nn 人中选 kk 人委员会并指定其中一人为主席的方案。

  • 先选委员会再选主席:k(nk)k\binom{n}{k}
  • 先选主席再选委员会:n(n−1k−1)n\binom{n-1}{k-1}

故 k(nk)=n(n−1k−1)k\binom{n}{k} = n\binom{n-1}{k-1}。

2.9 双射计数(Bijective Proof)

原理:若存在集合 AA 到集合 BB 的双射(一一对应),则 ∣A∣=∣B∣|A| = |B|。

例题(组合数对称性):定义 f:A→Bf: A \to B 为 f(S)={1,…,n}∖Sf(S) = \{1,\ldots,n\} \setminus S(取补集),这是双射,故 (nk)=(nn−k)\binom{n}{k} = \binom{n}{n-k}。


3. 偏序集、容斥原理与莫比乌斯变换

3.1 偏序集基础

定义(偏序关系):设 PP 是一个集合,RR 是 PP 上的二元关系。若 RR 满足:

  1. 自反性:∀x∈P,x≤x\forall x \in P, x \leq x
  2. 反对称性:∀x,y∈P\forall x, y \in P,若 x≤yx \leq y 且 y≤xy \leq x,则 x=yx = y
  3. 传递性:∀x,y,z∈P\forall x, y, z \in P,若 x≤yx \leq y 且 y≤zy \leq z,则 x≤zx \leq z

则称 RR 为 PP 上的偏序关系,(P,≤)(P, \leq) 称为偏序集(poset)。

例 1(幂集上的包含关系):设 SS 是 nn 元集,P=2SP = 2^S 是 SS 的幂集。定义 A≤BA \leq B 当且仅当 A⊆BA \subseteq B,则 (2S,⊆)(2^S, \subseteq) 是偏序集,称为布尔格 BnB_n。

例 2(整除关系):设 P=Z+P = \mathbb{Z}^+,定义 a≤ba \leq b 当且仅当 a∣ba \mid b,则 (Z+,∣)(\mathbb{Z}^+, \mid) 是偏序集。

3.2 链与反链

定义(链):偏序集 (P,≤)(P, \leq) 的子集 C⊆PC \subseteq P 称为链,若 CC 中任意两个元素都可比较。

定义(反链):子集 A⊆PA \subseteq P 称为反链,若 AA 中任意两个不同元素都不可比较。

3.3 Sperner 定理

定理(Sperner, 1928):设 SS 是 nn 元集,Bn=2SB_n = 2^S 是布尔格。则 BnB_n 中最大反链的大小为 (n⌊n/2⌋)\binom{n}{\lfloor n/2 \rfloor}。

证明(LYM不等式):设 F⊆Bn\mathcal{F} \subseteq B_n 是反链,则: ∑A∈F1(n∣A∣)≤1\sum_{A \in \mathcal{F}} \frac{1}{\binom{n}{|A|}} \leq 1

由于对所有 kk,(nk)≤(n⌊n/2⌋)\binom{n}{k} \leq \binom{n}{\lfloor n/2 \rfloor},故: ∣F∣≤(n⌊n/2⌋)|\mathcal{F}| \leq \binom{n}{\lfloor n/2 \rfloor}

3.4 容斥原理(PIE)

定理(容斥原理):设 A1,A2,…,AnA_1, A_2, \ldots, A_n 是有限全集 UU 的子集,则

∣⋃i=1nAi∣=∑k=1n(−1)k+1∑1≤i1<i2<⋯<ik≤n∣Ai1∩Ai2∩⋯∩Aik∣\left| \bigcup_{i=1}^n A_i \right| = \sum_{k=1}^n (-1)^{k+1} \sum_{1 \leq i_1 < i_2 < \cdots < i_k \leq n} |A_{i_1} \cap A_{i_2} \cap \cdots \cap A_{i_k}|

等价地,补集的交: ∣⋂i=1nAic∣=∣U∣−∑i∣Ai∣+∑i<j∣Ai∩Aj∣−∑i<j<k∣Ai∩Aj∩Ak∣+⋯+(−1)n∣A1∩⋯∩An∣\left| \bigcap_{i=1}^n A_i^c \right| = |U| - \sum_{i} |A_i| + \sum_{i<j} |A_i \cap A_j| - \sum_{i<j<k} |A_i \cap A_j \cap A_k| + \cdots + (-1)^n |A_1 \cap \cdots \cap A_n|

应用 1:错排问题

错排数 DnD_n(无不动点的排列数): Dn=n!∑k=0n(−1)kk!=⌊n!e+12⌋D_n = n! \sum_{k=0}^n \frac{(-1)^k}{k!} = \left\lfloor \frac{n!}{e} + \frac{1}{2} \right\rfloor

应用 2:欧拉函数

若 n=p1a1⋯prarn = p_1^{a_1} \cdots p_r^{a_r},则: φ(n)=n∏i=1r(1−1pi)\varphi(n) = n \prod_{i=1}^r \left(1 - \frac{1}{p_i}\right)

3.5 莫比乌斯反演

定义(莫比乌斯函数):偏序集上的莫比乌斯函数 μ\mu 定义为:

  • μ(x,x)=1\mu(x, x) = 1
  • 对 x<yx < y:μ(x,y)=−∑x≤z<yμ(x,z)\mu(x, y) = -\sum_{x \leq z < y} \mu(x, z)

定理(莫比乌斯反演):设 (P,≤)(P, \leq) 是局部有限偏序集,f,g:P→Rf, g: P \to \mathbb{R}。若 g(y)=∑x≤yf(x)g(y) = \sum_{x \leq y} f(x),则: f(y)=∑x≤yμ(x,y)g(x)f(y) = \sum_{x \leq y} \mu(x, y) g(x)

例 1(布尔格):μ(A,B)=(−1)∣B∣−∣A∣\mu(A, B) = (-1)^{|B| - |A|}

例 2(整除格):若 d∣md \mid m,则 μ(d,m)=μ(m/d)\mu(d, m) = \mu(m/d)(经典数论莫比乌斯函数)

经典莫比乌斯反演:设 f,g:Z+→Rf, g: \mathbb{Z}^+ \to \mathbb{R}。

  • 若 g(n)=∑d∣nf(d)g(n) = \sum_{d|n} f(d),则 f(n)=∑d∣nμ(d)g(n/d)f(n) = \sum_{d|n} \mu(d) g(n/d)

Comments