跳到正文
手册 · 第 3 章

计数与概率

阶乘、排列与组合、计数策略、隔板法、二项式恒等式、概率、期望值与容斥原理。

原书第 46–59 页 · 54 个条目

3.1 基本定义

在 YouTube 上打开

定义 3.1.1

一个正整数的阶乘,是所有小于或等于它的正整数的乘积。也就是说,

n!=n×(n−1)×(n−2)×⋯×1.n! = n \times (n-1) \times (n-2) \times \cdots \times 1.

去学习:定义 1.1.1 · 阶乘第 1.1 节 阶乘

原书第 46 页

定理 3.1.2 · 计数中的阶乘

把 nn 个物体排成一排,方法数是 n!n!。

把 nn 个物体排成一圈,如果同一种排法旋转后不算不同,方法数是 (n−1)!(n-1)!。

把 nn 个物体排成一圈,如果同一种排法的旋转和镜像都不算不同,方法数是

(n−1)!2(n≥3).\frac{(n-1)!}{2} \quad (n \ge 3).

去学习:定理 1.2.2 · 物体的排序数注 1.2.3

原书第 46 页已数值验证

定理 3.1.4 · 组合公式

从总共 nn 个物体中选出 kk 个,方法数是

(nk)=n!k!⋅(n−k)!=n⋅(n−1)⋯(n−k+1)k!.\binom{n}{k} = \frac{n!}{k! \cdot (n-k)!} = \frac{n \cdot (n-1) \cdots (n-k+1)}{k!}.

去学习:定理 1.5.3 · 组合公式

原书第 47 页已数值验证

注 3.1.5

计算组合数的第二种方法 n(n−1)⋯(n−k+1)k!\frac{n(n-1)\cdots(n-k+1)}{k!},在数学竞赛中更快。

去学习:定理 1.5.3 · 组合公式

原书第 47 页

注 3.1.6

注意:

(nk)=(nn−k).\binom{n}{k} = \binom{n}{n-k}.

这是因为选出要拿走的 kk 个物体(左边),等同于选出不被选中的 n−kn-k 个物体(右边)。

去学习:注 1.5.4定理 6.1.1 · 对称性

原书第 47 页已数值验证

定理 3.1.8 · 排列公式

从总共 nn 个物体中取出 kk 个排好,方法数是

nPk=n!(n−k)!.{}^{n}P_{k} = \frac{n!}{(n-k)!}.

去学习:定理 1.2.4 · 排列公式

原书第 47 页已数值验证

注 3.1.9

通常,“排列”“顺序有关”等说法表示排列,而“选”“挑选”“不计顺序”等说法表示组合。

去学习:注 1.5.2

原书第 48 页

注 3.1.11

集合的每个元素都有 2 种选择:放进子集,或者不放。这意味着其中一个子集是空集,也就是每个元素都不放。如果题目让你数子集,一定要看清空集该不该算。

去学习:注 1.6.2

原书第 48 页

3.2 计数策略

在 YouTube 上打开

注 3.2.1

  • **补集计数:**数出我们不想要的情况(对立面),再从总数里减掉。关键词“至少”往往提示补集计数可能有用。
  • **重复计数:**先多数一些,再有条理地减去不该算的部分。
  • **分类讨论:**把问题拆成几种情况,分别数出每种情况的方法数(或求出概率),再加起来。

分类讨论是解组合题非常有用的策略,尤其是在没有其他明显思路的时候。

去学习:概念 3.1.1 · 让情况尽量少注 3.1.2第 3.1 节 分类讨论

原书第 49 页

3.3 进阶概念

在 YouTube 上打开
在 YouTube 上打开
在 YouTube 上打开

定理 3.3.1 · 字母重排

一个单词的字母重排方法数是

n!d1!×d2!×d3!×⋯\frac{n!}{d_1! \times d_2! \times d_3! \times \cdots}

其中 nn 是字母个数,d1,d2,d3,…d_1, d_2, d_3, \ldots 是单词中每个出现不止一次的字母各自出现的次数。

去学习:定理 1.4.1 · 字母重排第 1.4 节 字母重排

原书第 49 页已数值验证

注 3.3.2

这不只适用于单词!排列有重复的物体(或任何东西)时,方法数也由同一个公式给出。

去学习:注 1.4.2

原书第 50 页

注 3.3.4

每一种“两条横线加两条竖线”的组合都围成一个唯一的长方形。m×nm \times n 的方格一个方向有 m+1m+1 条线,另一个方向有 n+1n+1 条线,所以选两条横线有 (m+12)\binom{m+1}{2} 种方法,选两条竖线有 (n+12)\binom{n+1}{2} 种方法。

去学习:注 7.2.2

原书第 50 页已数值验证

注 3.3.5

组合计数的一个类似应用是经典问题:(凸)nn 边形的对角线有多少个交点(假设没有三条对角线交于同一个内部点)?一个交点由 2 条对角线产生,每条对角线由 2 个顶点确定,所以每个交点恰好对应 4 个顶点。因此交点个数就是从 nn 个点中选 4 个的方法数:

(n4).\binom{n}{4}.

去学习:第 7.1 节 三角形计数

原书第 51 页已数值验证

注 3.3.7

之所以成立,是因为可以把它看成在 nn 个物品(球)之间放 k−1k-1 块隔板,排法共有

(n+k−1n)\binom{n+k-1}{n}

种。理解这一点很重要,因为题目可能会把隔板法稍加变化。

去学习:第 5.1 节 隔板法基础

原书第 51 页已数值验证

注 3.3.10

二项式定理有很多强大的应用。它可以用来展开这样的式子:

(x+y)n.(x+y)^n.

另外,如果要求像

(x+y)n(modxk)(x+y)^n \pmod{x^k}

这样的式子的值(xx 和 yy 为整数),只需展开二项式展开式的最后 kk 项:其余每一项都含有 xkx^k 或 xx 的更高次幂。

更正

原书把模数印成了 nkn^k;它必须是 xkx^k(两项之一的幂)。模 xkx^k 时,含 xk,xk+1,…x^k, x^{k+1}, \ldots 的项都变成 0,只剩最后 kk 项。模 nkn^k 则不成立:取 x=2x = 2,y=1y = 1,n=3n = 3,k=1k = 1,(2+1)3=27≡0(mod3)(2+1)^3 = 27 \equiv 0 \pmod 3,但最后一项是 11。

去学习:定理 24.0.10 · 二项式定理第 24.0b 节 欧拉定理、费马小定理、威尔逊定理与二项式定理

原书第 52 页已数值验证

定理 3.3.12 · 范德蒙恒等式

范德蒙恒等式:

(n0)(mm)+(n1)(mm−1)+⋯+(nm)(m0)=(m+nn).\binom{n}{0}\binom{m}{m} + \binom{n}{1}\binom{m}{m-1} + \cdots + \binom{n}{m}\binom{m}{0} = \binom{m+n}{n}.

去学习:定理 6.2.1 · 范德蒙恒等式注 6.2.2第 6.2 节 范德蒙恒等式

原书第 52 页已数值验证

定理 3.3.13 · 范德蒙恒等式的特例

∑i=0k(ki)2=(2kk)\sum_{i=0}^{k} \binom{k}{i}^2 = \binom{2k}{k}

去学习:定理 6.2.3 · 范德蒙恒等式的特例

原书第 53 页已数值验证

概念 3.3.14 · 杨辉三角

杨辉三角(帕斯卡三角)如下图所示(第 00 行到第 1010 行):

111121133114641151010511615201561172135352171182856705628811936841261268436911104512021025221012045101\scriptsize\begin{array}{c} 1 \\ 1 \; 1 \\ 1 \; 2 \; 1 \\ 1 \; 3 \; 3 \; 1 \\ 1 \; 4 \; 6 \; 4 \; 1 \\ 1 \; 5 \; 10 \; 10 \; 5 \; 1 \\ 1 \; 6 \; 15 \; 20 \; 15 \; 6 \; 1 \\ 1 \; 7 \; 21 \; 35 \; 35 \; 21 \; 7 \; 1 \\ 1 \; 8 \; 28 \; 56 \; 70 \; 56 \; 28 \; 8 \; 1 \\ 1 \; 9 \; 36 \; 84 \; 126 \; 126 \; 84 \; 36 \; 9 \; 1 \\ 1 \; 10 \; 45 \; 120 \; 210 \; 252 \; 210 \; 120 \; 45 \; 10 \; 1 \end{array}

它也可以用组合数表示:第 nn 行依次是 (n0),(n1),…,(nn)\binom{n}{0}, \binom{n}{1}, \ldots, \binom{n}{n}。

(00)(10)   (11)(20)   (21)   (22)(30)   (31)   (32)   (33)(40)   (41)   (42)   (43)   (44)(50)   (51)   (52)   (53)   (54)   (55)\begin{array}{c} \tbinom{0}{0} \\[4pt] \tbinom{1}{0} \;\, \tbinom{1}{1} \\[4pt] \tbinom{2}{0} \;\, \tbinom{2}{1} \;\, \tbinom{2}{2} \\[4pt] \tbinom{3}{0} \;\, \tbinom{3}{1} \;\, \tbinom{3}{2} \;\, \tbinom{3}{3} \\[4pt] \tbinom{4}{0} \;\, \tbinom{4}{1} \;\, \tbinom{4}{2} \;\, \tbinom{4}{3} \;\, \tbinom{4}{4} \\[4pt] \tbinom{5}{0} \;\, \tbinom{5}{1} \;\, \tbinom{5}{2} \;\, \tbinom{5}{3} \;\, \tbinom{5}{4} \;\, \tbinom{5}{5} \end{array}

去学习:概念 6.3.1 · 杨辉三角第 6.3 节 帕斯卡恒等式与曲棍球棒恒等式

原书第 53 页

定理 3.3.15 · 帕斯卡恒等式

帕斯卡恒等式:

(nk)+(nk+1)=(n+1k+1).\binom{n}{k} + \binom{n}{k+1} = \binom{n+1}{k+1}.

去学习:定理 6.3.2 · 帕斯卡恒等式

原书第 53 页已数值验证

定理 3.3.16 · 曲棍球棒恒等式

曲棍球棒恒等式:

(kk)+(k+1k)+⋯+(nk)=(n+1k+1).\binom{k}{k} + \binom{k+1}{k} + \cdots + \binom{n}{k} = \binom{n+1}{k+1}.

去学习:定理 6.3.3 · 曲棍球棒恒等式注 6.3.6

原书第 54 页已数值验证

定理 3.3.17 · 曲棍球棒恒等式的推广

(jk)+(j+1k)+⋯+(nk)=(n+1k+1)−(jk+1)\binom{j}{k} + \binom{j+1}{k} + \cdots + \binom{n}{k} = \binom{n+1}{k+1} - \binom{j}{k+1}

去学习:定理 6.3.4 · 曲棍球棒恒等式的推广注 6.3.5

原书第 54 页已数值验证

定理 3.3.18 · 奇偶选取恒等式

这个恒等式是说(n≥1n \ge 1)

∑k=0m(−1)k(nk)=(−1)m(n−1m).\sum_{k=0}^{m} (-1)^k \binom{n}{k} = (-1)^m \binom{n-1}{m}.

去学习:定理 6.1.3 · 奇偶选取恒等式

原书第 54 页已数值验证

注 3.3.19

这些恒等式在组合题中很有用,但怎么用上它们并不总是一眼就能看出来。所以对付许多组合题的一个好办法,就是直接变形式子。

去学习:注 6.3.7

原书第 54 页

定理 3.3.20 · 推广的抽屉原理

如果要把至少 nk+1nk + 1 个物体分到 kk 组中,那么至少有 1 组至少有 n+1n + 1 个物体。

原书第 55 页已数值验证

3.4 概率与期望值

在 YouTube 上打开
在 YouTube 上打开
在 YouTube 上打开
在 YouTube 上打开
在 YouTube 上打开
在 YouTube 上打开

定理 3.4.2 · 概率

当所有结果都等可能时,

概率=想要的结果总数所有结果总数.\text{概率} = \frac{\text{想要的结果总数}}{\text{所有结果总数}}.

去学习:定理 2.1.2 · 概率

原书第 55 页

定理 3.4.4 · 期望值

事件 XX 的期望值是

∑xi⋅P(xi)\sum x_i \cdot P(x_i)

其中 xix_i 是 XX 所有可能的取值,P(xi)P(x_i) 是它们出现的概率。

说白了,期望值就是把每件事发生的概率乘上这件事对应的数值或数量,再加起来。

去学习:定理 9.0.2 · 期望值

原书第 55 页

注 3.4.5

求期望值时,很多时候可以利用对称性,而不必把每个概率乘上对应的数值再相加。例如,求掷一颗骰子的期望值时,不必计算

16⋅1+16⋅2+16⋅3+16⋅4+16⋅5+16⋅6=3.5\frac16 \cdot 1 + \frac16 \cdot 2 + \frac16 \cdot 3 + \frac16 \cdot 4 + \frac16 \cdot 5 + \frac16 \cdot 6 = 3.5

只要注意到 1 到 6 的每个点数都是等可能的,所以期望值就是点数的平均数,也就是中间 2 项的平均数 3.53.5。(参见等差数列一节。)

去学习:注 9.0.3

原书第 55 页已数值验证

定理 3.4.6 · 期望的线性性

无论事件独立还是相关,都有

E(x1+x2+⋯+xn)=E(x1)+E(x2)+⋯+E(xn).E(x_1 + x_2 + \cdots + x_n) = E(x_1) + E(x_2) + \cdots + E(x_n).

说白了,nn 件事总的期望值,就是每件事各自期望值之和。

去学习:定理 9.0.4 · 期望的线性性

原书第 56 页已数值验证

注 3.4.7

这个定理威力很大,因为它让我们可以分别求每件事的期望值,而不用一次处理整体。

去学习:注 9.0.5

原书第 56 页

注 3.4.9

当可能的结果有无穷多种时,几何概率会很有用。

去学习:注 8.0.2

原书第 57 页

定义 3.4.10

容斥原理(PIE)是一种计数方法:它求出至少满足若干性质之一的元素个数,同时保证满足不止一个性质的元素不会被数两次。

去学习:定义 4.0.1 · 容斥原理第 4.0 节 容斥原理

原书第 57 页

定义 3.4.11 · 并集符号

∣A∪B∣|A \cup B| 表示 AA 与 BB 的并集的元素个数:所有属于 AA 或属于 BB 的元素(重复的只算一次)。

去学习:定义 4.0.2 · 并集符号

原书第 57 页

定义 3.4.12 · 交集符号

∣A∩B∣|A \cap B| 表示 AA 与 BB 的交集的元素个数(只包括同时属于两个集合的元素)。

去学习:定义 4.0.3 · 交集符号

原书第 57 页

定理 3.4.13 · 两个集合的容斥原理

对两个集合 A1A_1 和 A2A_2,

∣A1∪A2∣=∣A1∣+∣A2∣−∣A1∩A2∣.|A_1 \cup A_2| = |A_1| + |A_2| - |A_1 \cap A_2|.

简单地说,先数出 2 类“东西”各有多少种可能,再减去重复的部分。

去学习:定理 4.0.4 · 两个集合的容斥原理

原书第 57 页已数值验证

定理 3.4.14 · 三个集合的容斥原理

对三个集合 A1A_1、A2A_2、A3A_3,

∣A1∪A2∪A3∣=∣A1∣+∣A2∣+∣A3∣−∣A1∩A2∣−∣A1∩A3∣−∣A2∩A3∣+∣A1∩A2∩A3∣.\begin{aligned}&|A_1 \cup A_2 \cup A_3| \\ &\quad = |A_1| + |A_2| + |A_3| \\ &\qquad - |A_1 \cap A_2| - |A_1 \cap A_3| \\ &\qquad - |A_2 \cap A_3| \\ &\qquad + |A_1 \cap A_2 \cap A_3|.\end{aligned}

在这个公式里,先数出 3 类“东西”各有多少种可能,再减去 3 对集合中各自重复的部分,最后把同时属于 3 个集合的元素个数加回来。

去学习:定理 4.0.6 · 三个集合的容斥原理

原书第 57 页已数值验证

定理 3.4.15 · 一般形式的容斥原理

若 A1,A2,…,AnA_1, A_2, \ldots, A_n 是有限集合,则

∣⋃i=1nAi∣=∑i=1n∣Ai∣−∑i<j∣Ai∩Aj∣+∑i<j<k∣Ai∩Aj∩Ak∣−⋯+(−1)n−1∣A1∩⋯∩An∣.\begin{aligned}\left|\bigcup_{i=1}^{n} A_i\right| ={}& \sum_{i=1}^{n} |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-1} |A_1 \cap \cdots \cap A_n|.\end{aligned}

去学习:定理 4.0.7 · 一般形式的容斥原理

原书第 58 页已数值验证

概念 3.4.16

双射是两个集合的元素之间的一一对应。双射很有用,因为它能把难题转化成更容易计算的问题。遇到可能要用双射的难题时,先试几个例子,找找规律。

去学习:注 7.4.2

原书第 58 页

概念 3.4.17 · 递推

递推就是先对较小的值解出问题,再写出递推式,一步一步算出较大的值。

解递推题的步骤:

  1. **初始值:**自己动手求出 nn 较小时的值。
  2. **递推式:**对一般的 nn,看看有哪些不同的情况(例如最后一位是 0 还是 1)。
    • 如果卡住了,就试几个小的情况,找找规律。
  3. 一步一步算出更大的 nn 对应的值,直到得到答案。

去学习:定义 10.1.1 · 递推概念 10.2.1 · 递推法第 10.1 节 递推基础

原书第 58 页

注 3.4.18

注意,很多递推题的答案都可以用工程归纳法得到(参见应试技巧一节)。

去学习:注 10.1.3 · 工程归纳法

原书第 58 页

概念 3.4.19 · 状态

当我们想求从不同局面或不同轮次出发“获胜”的概率时,就用状态。遇到状态问题时,按下面的步骤做:

  1. 给从每个局面出发获胜的概率设一个未知数。
  2. 对每个局面,用其他状态表示从它出发获胜的概率,写出方程。
  3. 解这个方程组。

去学习:概念 11.0.1 · 状态第 11.0 节 状态

原书第 59 页

注 3.4.20 · 状态中的对称性

做状态问题时,一定要时刻留意对称性(获胜概率相同的局面),这能帮你化简方程。

去学习:概念 11.0.2 · 状态中的对称性

原书第 59 页