数学小报3 - 排列组合 Combination

数学小报3 - 排列组合 Combination

0. 前言

完整内容同步发表于 https://blog.csdn.net/Mr_Azz/article/details/135443217

1. 思考

日常生活中,常常遇到需要选择的时候,比如说选择穿衣服,排队伍,我们不禁会想:这些事情有多少种组合方式呢?这在数学中叫做组合计数问题。

前置知识 ( a i a_i ai 可以理解为C++里的数组)

以下文章默认 m ≤ n m \leq n mn

连乘符号 ∏ i = 1 n a i = a 1 × a 2 × . . . × a n \displaystyle \prod_{i=1}^n a_i=a_1 \times a_2 \times ... \times a_n i=1nai=a1×a2×...×an

累加符号 ∑ i = 1 n a i = a 1 + a 2 + . . . + a n \displaystyle \sum_{i=1}^n a_i=a_1 + a_2 + ... + a_n i=1nai=a1+a2+...+an

阶乘符号 n ! = n × ( n − 1 ) × . . . × 1 n!=n \times (n-1) \times ... \times 1 n!=n×(n1)×...×1

乘法原理:做一件事需要分 n n n 个步骤,令 a i ( 1 ≤ i ≤ n ) a_i(1 \le i \le n) ai(1in) 代表第 i i i 个步骤的不同方法数目。那么完成这件事共有 S = a 1 × a 2 × ⋯ × a n = ∏ i = 1 n a i \displaystyle S = a_1 \times a_2 \times \cdots \times a_n=\prod_{i=1}^n a_i S=a1×a2××an=i=1nai 种不同的方法。


2. 排列数 A n m \mathrm A_n^m Anm

2.1 定义:

排列:从 n n n 个不同元素中,任取 m m m 个元素按照一定的顺序排成一列,叫做从 n n n 个不同元素中取出 m m m 个元素的一个排列。

排列数:从 n n n 个不同元素中取出 m m m 个元素的所有排列的个数,叫做从 n n n 个不同元素中取出 m m m 个元素的排列数,用符号 A n m \mathrm A_n^m Anm 表示。

2.2 公式

A n m = n × ( n − 1 ) × . . . × ( n − m + 1 ) = n ! ( n − m ) ! \displaystyle \mathrm A_n^m=n \times (n-1) \times ... \times (n-m+1)=\frac{n!}{(n-m)!} Anm=n×(n1)×...×(nm+1)=(nm)!n!

我们顺便还可以计算出全排列的个数( n n n 个人排队的情况数) = A n n = n ! =\displaystyle \mathrm A_n^n=n! =Ann=n!

2.3 如何理解

比如说,你有卡牌 1 , 2 , 3 , 4 1,2,3,4 1234 ,出 2 2 2 张牌有几种不同的顺序?最暴力的想法是把所有情况全部枚举一遍:

| 1 2 1 3 1 4 | 2 1 2 3 2 4 | 3 1 3 2 3 4 | 4 1 4 2 4 4 |

但我们换一种角度思考,你第一次出牌有 4 4 4 种选择,第二次出牌则有 3 3 3 种选择,由乘法原理可知总共有 4 × 3 = 12 4 \times 3=12 4×3=12 种。归纳一下,如果总共有 n n n 张卡牌,那么第一次出有 n n n 种选择,第二次有 n − 1 n-1 n1 种选择,到第 m m m 次就有 m − n + 1 m-n+1 mn+1 种选择,根据乘法原理,就有了以下公式。

3. 组合数

3.1 定义

组合:从 n 个不同元素中,任取 m m m 个元素组成一个集合,叫做从 n n n 个不同元素中取出 m m m 个元素的一个组合;

组合数:从 n n n 个不同元素中取出 m m m 个元素的所有组合的个数,叫做从 n n n 个不同元素中取出 m m m 个元素的组合数,用符号 C n m \mathrm C_n^m Cnm 或者 ( n m ) \dbinom{n}{m} (mn) 来表示,读作「 n n n m m m」,意思就是从 n n n 个人中选 m m m 个人去开会的方案数。

3.2 公式

C n m = ( n m ) = A n m m ! = n ! m ! ( n − m ) ! \displaystyle \mathrm C_n^m = \dbinom{n}{m} = \frac{\mathrm A_n^m}{m!} = \frac{n!}{m!(n - m)!} Cnm=(mn)=m!Anm=m!(nm)!n!

3.3 如何理解

就好比你们班 3 3 3 个人选 2 2 2 个人去参加会议有几种方案,枚举一下会发现只有 3 3 3 中可能。这与上面出牌有一个差别是出牌讲究顺序,而选出来的人不讲究顺序(123231321 都是一样的)。选出来的那些人总共的排列数就是 m m m 的全排列 m ! m! m! 种,而这 m ! m! m! 种只看做 1 1 1 种,所以把排列数 A n m \mathrm A_n^m Anm 除掉 m ! m! m! 就得到了组合数 C n m \mathrm C_n^m Cnm 的公式了。


4. 二项式定理 & 杨辉三角

4.0 前置知识
  1. C n m = C n n − m \mathrm C_n^m=\mathrm C_n^{n-m} Cnm=Cnnm

证明:从 n n n 个人选 m m m 个去参加会议和从 n n n 个人选 n − m n-m nm 个不去是一样的。

  1. C m n = C m − 1 n + C m − 1 n − 1 \mathrm C_m^n=\mathrm C_{m-1}^n+\mathrm C_{m-1}^{n-1} Cmn=Cm1n+Cm1n1

证明:等式左边表示从 m m m 个元素中选取 n n n 个元素,可以是从 m − 1 m-1 m1 个元素中选 n − 1 n-1 n1 个再把第 m m m 个元素选了,或者是从 m − 1 m-1 m1 个元素中选 n n n 个不选第 m m m 个元素。其实这跟下面的杨辉三角是一个道理,所以杨辉三角形第 n n n 行的第 m m m 个元素就是 C n m \mathrm C_n^m Cnm (注意,行号和列号从 0 0 0 开始)

  1. C n 0 + C n 1 + . . . + C n n = 2 n \mathrm C_n^0+\mathrm C_n^1+...+\mathrm C_n^n=2^n Cn0+Cn1+...+Cnn=2n

可以通过杨辉三角证明,每一行的和都为 2 n 2^n 2n

4.1 杨辉三角

每一个值等于上一行两项的和。

                                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

杨辉三角的性质有很多,这里只讲他与组合数的关系。

4.2 二项式定理

( x + y ) n = C n 0 x n y 0 + C n 1 x n − 1 y 1 + . . . + C n n x 0 y n = ∑ i = 0 n C n i x n − i y i \displaystyle (x+y)^n=\mathrm C_n^0 x^ny^0+\mathrm C_n^1 x^{n-1}y^1+...+\mathrm C_n^n x^0y^n=\sum_{i=0}^n \mathrm C_n^ix^{n-i}y^i (x+y)n=Cn0xny0+Cn1xn1y1+...+Cnnx0yn=i=0nCnixniyi

4.3 如何理解

看上去很头大是吗?我们来回顾一下 ( x + y ) 2 (x+y)^2 (x+y)2 怎么进行因式分解:
( x + y ) 2 = ( x + y ) ( x + y ) = x 2 + x y + y x + y 2 = x 2 + y 2 + 2 x y (x+y)^2=(x+y)(x+y)=x^2+xy+yx+y^2=x^2+y^2+2xy (x+y)2=(x+y)(x+y)=x2+xy+yx+y2=x2+y2+2xy
进一步, ( x + y ) 3 (x+y)^3 (x+y)3 怎么因式分解:
( x + y ) 3 = ( x + y ) ( x 2 + y 2 + 2 x y ) = x 3 + x y 2 + 2 x 2 y + x 2 y + y 3 + 2 x y 2 = x 3 + 3 x 2 y + 3 x y 2 + y 3 (x+y)^3=(x+y)(x^2+y^2+2xy)=x^3+xy^2+2x^2y+x^2y+y^3+2xy^2=x^3+3x^2y+3xy^2+y^3 (x+y)3=(x+y)(x2+y2+2xy)=x3+xy2+2x2y+x2y+y3+2xy2=x3+3x2y+3xy2+y3
观察每个系数:1 3 3 1。你会发现这不仅是 C 3 0   C 3 1   C 3 2   C 3 3 \displaystyle \mathrm C_3^0~\mathrm C_3^1~\mathrm C_3^2~\mathrm C_3^3 C30 C31 C32 C33 ,而且也对应着杨辉三角的第四行。为什么会有这样的“巧合”呢?

考虑一下拆括号完后的项分别是如何得出的:
每个括号可以贡献出一个 x x x 或者 y y y 相乘。而且只有当每个括号都选择了一个 x x x 相乘,才会得到 x 3 x^3 x3。因此,这种情况只有一种可能,其系数为 1。
接下来是 x 2 y x^2y x2y,相当于从 3 个 x x x 中选择 2 个 x x x 相乘,这不就是组合数的定义吗?即 C 3 2 \mathrm C_3^2 C32!以此类推,我们可以得到每个项的系数,这就解释了上述公式。

你可能感兴趣的:(线性代数)