跳到主要内容

计数

概述

从加法原理与乘法原理出发,推导全排列、阶乘、排列数 A 与组合数 C,列出组合数的对称、递推与求和等性质。应用部分用插板法处理正整数解、非负整数解与带下界的分配问题,以及相同元素、不同元素分组的计数。随后由展开式中选取因子的组合意义得出二项式定理,并给出三项式的多项式展开公式与若干配凑系数的例子。末尾把二项式系数排成杨辉三角,说明每个数等于左上与右上之和,恰对应一个组合数。

参考资料​

原理​

加法原理​

加法原理:完成一项任务有 nn 类 方式,第 ii 类方式有 aia_i 种方案,则完成该任务的方案数为:

∑i=1nai=a1+a2+⋯+an\sum_{i=1}^n a_i=a_1+a_2+\dots+a_n
示例

从家到学校有 22 类出行方式:

  1. 地铁:可选择地铁 11 号线或 44 号线,共 22 种;
  2. 公交:可选择公交 55 路、2626 路或 3838 路,共 33 种。

根据加法原理,共有 2+3=52+3=5 种不同的出行方案。

乘法原理​

乘法原理:完成一项任务有 nn 个 步骤,第 ii 个步骤有 aia_i 种方案,则完成该任务的方案数为:

∏i=1nai=a1×a2×⋯×an\prod_{i=1}^n a_i=a_1\times a_2\times\dots\times a_n
示例

早上出门换衣服时:

  1. 上衣:有 44 件;
  2. 裤子:有 33 条。

根据乘法原理,共有 4×3=124\times 3=12 种不同的搭配方案。

排列组合​

全排列​

全排列:将 nn 个不同的物品排成一列:

  • 第 11 个位置有 nn 种选择;
  • 第 22 个位置有 n−1n-1 种选择;
  • 第 33 个位置有 n−2n-2 种选择;
  • ……
  • 第 n−1n-1 个位置有 22 种选择;
  • 第 nn 个位置有 11 种选择。

根据乘法原理,全排列的方案数为:

n×(n−1)×(n−2)×⋯×2×1n\times(n-1)\times(n-2)\times\dots\times 2\times 1

阶乘​

我们将正整数从 11 到 nn 的连乘积称为 阶乘,用 nn 后面加 叹号(!)表示。

n!=1×2×3×⋯×(n−1)×nn!=1\times 2\times 3\times\dots\times(n-1)\times n

特别地,我们定义:

0!=10!=1

对于任意正整数 nn 的阶乘,有性质:

n!=n×(n−1)!n!=n\times(n-1)!
0!=10!=13!=63!=66!=7206!=7209!=3628809!=362880
1!=11!=14!=244!=247!=50407!=504010!=362880010!=3628800
2!=22!=25!=1205!=1208!=403208!=40320…\dots
示例
5!=1×2×3×4×5=1205!=1\times 2\times 3\times 4\times 5=120

排列​

考虑从 nn 个不同物品中选取 mm 个,排成一列:

  • 第 11 个位置有 nn 种选择;
  • 第 22 个位置有 n−1n-1 种选择;
  • 第 33 个位置有 n−2n-2 种选择;
  • ……
  • 第 m−1m-1 个位置有 n−m+2n-m+2 种选择;
  • 第 mm 个位置有 n−m+1n-m+1 种选择。

根据乘法原理,方案数为:

n×(n−1)×(n−2)×⋯×(n−m+1)=n!(n−m)!n\times(n-1)\times(n-2)\times\dots\times(n-m+1)=\frac{n!}{(n-m)!}

我们用 Anm\mathrm{A}_n^m 表示 排列数:

Anm=n!(n−m)!=n×(n−1)×(n−2)×⋯×(n−m+1)\mathrm{A}_n^m=\frac{n!}{(n-m)!}=n\times(n-1)\times(n-2)\times\dots\times(n-m+1)

组合​

考虑从 nn 个不同元素中选取 mm 个,但不考虑顺序。

若考虑顺序,这就变成了排列问题,我们已经知道有 Anm\mathrm{A}_n^m 种方案。

在这些排列方案中,每组 mm 个元素由于顺序不同被重复计算了 m!m! 次,因此真正的方案数为:

Anmm!\frac{\mathrm{A}_n^m}{m!}

我们用 Cnm\mathrm{C}_n^m 表示 组合数:

Cnm=Anmm!=n!m!(n−m)!=n×(n−1)×⋯×(n−m+1)m×(m−1)×⋯×2×1\mathrm{C}_n^m=\frac{\mathrm{A}_n^m}{m!}=\frac{n!}{m!(n-m)!}=\frac{n\times(n-1)\times\dots\times(n-m+1)}{m\times(m-1)\times\dots\times 2\times 1}
提示

排列数还可以使用 Pnm\mathrm{P}_n^m 表示,但在高中教材中通常使用 Anm\mathrm{A}_n^m。

Anm=Pnm\mathrm{A}_n^m=\mathrm{P}_n^m

组合数还可以使用 (nm)\dbinom{n}{m} 表示,注意 nn 和 mm 的位置顺序。

Cnm=(nm)\mathrm{C}_n^m=\dbinom{n}{m}

性质​

Cnm=Cnn−m\mathrm{C}_n^m=\mathrm{C}_n^{n-m} Cnm=Cn−1m+Cn−1m−1\mathrm{C}_n^m=\mathrm{C}_{n-1}^m+\mathrm{C}_{n-1}^{m-1} mnCnm=Cn−1m−1\frac{m}{n}\mathrm{C}_n^m=\mathrm{C}_{n-1}^{m-1} nn−mCn−1m=Cnm\frac{n}{n-m}\mathrm{C}_{n-1}^m=\mathrm{C}_n^m ∑i=0nCni=Cn0+Cn1+Cn2+⋯+Cnn=2n\sum_{i=0}^n\mathrm{C}_n^i=\mathrm{C}_n^0+\mathrm{C}_n^1+\mathrm{C}_n^2+\dots+\mathrm{C}_n^n=2^n Cn0+Cn2+Cn4+⋯=Cn1+Cn3+Cn5+…\mathrm{C}_n^0+\mathrm{C}_n^2+\mathrm{C}_n^4+\dots=\mathrm{C}_n^1+\mathrm{C}_n^3+\mathrm{C}_n^5+\dots

应用​

  1. 有 nn 个 完全相同 的元素,要求将其分为 kk 组,保证每组至少有一个元素,一共有多少种分法?

考虑拿 k−1k-1 块板子插入到 nn 个元素两两形成的 n−1n-1 个空里面,答案为 Cn−1k−1\mathrm{C}_{n-1}^{k-1},本质是求 x1+x2+⋯+xk=nx_1+x_2+\dots+x_k=n 的正整数解的组数。

  1. 若问题变换一下,每组允许为空?

考虑创造条件转化成有限制的问题一,先借 kk 个元素过来,在这 n+kn+k 个元素形成的 n+k−1n+k-1 个空里面插板,答案为 Cn+k−1n\mathrm{C}_{n+k-1}^n,本质是求 x1+x2+⋯+xk=nx_1+x_2+\dots+x_k=n 的非负整数解的组数。

  1. 再扩展一步,要求对于第 ii 组,至少要分到 aia_i 个元素呢?(∑ai≤n\sum a_i\leq n)

本质是求 x1+x2+⋯+xk=nx_1+x_2+\dots+x_k=n 满足 xi≥aix_i\ge a_i 的整数解的数目。

类比无限制的情况,我们借 ∑ai\sum a_i 个元素过来,保证第 ii 组能至少分到 aia_i 个,也就是令 xi′=xi−aix_i'=x_i-a_i 且 xi′≥0x_i'\geq 0。

得到新方程:

(x1′+a1)+(x2′+a2)+⋯+(xk′+ak)=n  ⟹  ∑i=1kxi′=n−∑ai(x_1'+a_1)+(x_2'+a_2)+\dots+(x_k'+a_k)=n\implies\sum_{i=1}^kx_i'=n-\sum a_i

答案为:

Cn−∑ai+k−1k−1\mathrm{C}_{n-\sum a_i+k-1}^{k-1}
  1. 从 nn 个连续整数选 kk 个,这 kk 个数中两两都不相邻的组合有 Cn−k+1k\mathrm{C}_{n-k+1}^k 种。

  2. 若将 nn 个 不同的 的元素分成 aa 组,第 ii 组的数量为 nin_i,其中相同的组共有 bb 类,第 kk 类的相同组的个数为 sks_k,则方案数为:

n!∏i=1a(ni!)×∏k=1b(sk!)\frac{n!}{\prod_{i=1}^a(n_i!)\times\prod_{k=1}^b(s_k!)}

原理:

Cnn1Cn−n1n2…Cnana=n!n1!×n2!×⋯×na!=n!∏i=1a(ni!)\mathrm{C}_n^{n_1}\mathrm{C}_{n-n_1}^{n_2}\dots\mathrm{C}_{n_a}^{n_a}=\frac{n!}{n_1!\times n_2!\times\dots\times n_a!}=\frac{n!}{\prod_{i=1}^a(n_i!)}
示例

将 66 本不同的书分给甲乙丙 33 人,每人 22 本,有多少种分法?

这是不同的 33 组,即没有相同的组,故不用消除组间排序,答案为:

6!2!2!2!=90\frac{6!}{2!2!2!}=90

如果是分成三组每组 22 本,那就要消除组间排序,答案为:

6!(2!2!2!)×3!=15\frac{6!}{(2!2!2!)\times 3!}=15

二项式定理​

二项式 是只有 22 项的多项式,例如 a+ba+b、2x−12x-1。

在初中阶段,我们学过 (a+b)2(a+b)^2 和 (a+b)3(a+b)^3 的展开式。

考虑 (a+b)n(a+b)^n 的各项系数有什么规律?

我们发现,(a+b)n(a+b)^n 展开后会有 2n2^n 项。

其中,若取 kk 个因子为 aa,其余 n−kn-k 个因子为 bb,就会得到含有 akbn−ka^kb^{n-k} 的项。

而从 nn 个因子中选出 kk 个为 aa 的方法数正好是 Cnk\mathrm{C}_n^k。

由此,我们得到了著名的 二项式定理:

(a+b)n=∑k=0nCnkakbn−k(a+b)^n=\sum_{k=0}^n\mathrm{C}_n^ka^kb^{n-k}

其中各项的系数 Cnk\mathrm{C}_n^k 叫做 二项式系数。

示例
(2x+3y)3=8x3+36x2y+54xy2+27y3(2x+3y)^3=8x^3+36x^2y+54xy^2+27y^3

对于三项式,也可以使用公式展开,但过程较为复杂:

(a+b+c)n=∑i+j+k=nn!i!j!k!aibjck(a+b+c)^n=\sum_{i+j+k=n}\frac{n!}{i!j!k!}a^ib^jc^k
示例
(a+b+c)3=3!3!0!0!a3+3!0!3!0!b3+3!0!0!3!c3+3!2!1!0!a2b+3!2!0!1!a2c+3!1!2!0!ab2+3!0!2!1!b2c+3!1!0!2!ac2+3!0!1!2!bc2+3!1!1!1!abc=a3+b3+c3+3a2b+3a2c+3b2a+3b2c+3c2a+3c2b+6abc\begin{aligned} (a+b+c)^3 & =\frac{3!}{3!0!0!}a^3+\frac{3!}{0!3!0!}b^3+\frac{3!}{0!0!3!}c^3+\frac{3!}{2!1!0!}a^2b+\frac{3!}{2!0!1!}a^2c \\ & +\frac{3!}{1!2!0!}ab^2+\frac{3!}{0!2!1!}b^2c+\frac{3!}{1!0!2!}ac^2+\frac{3!}{0!1!2!}bc^2+\frac{3!}{1!1!1!}abc \\ & =a^3+b^3+c^3+3a^2b+3a^2c+3b^2a+3b^2c+3c^2a+3c^2b+6abc \end{aligned}

杨辉三角形​

我们将二项式系数排列为三角形,就得到了 杨辉三角形。

杨辉三角形中的每个数都对应一个 组合数,而每个数是它 左上方 和 右上方 的数的和。