文章目录
两类基本计数原理
- 以下两种计数原理是解决计数问题的最基本理论依据
- 它们分别给出了"分类"和"分步"完成一件事(任务)的方法总数的计算方法
分类加法计数原理
- 完成任务A有 n n n类办法,第 i i i类办法中有 m i m_i mi种不同的方法 ( i = 1 , 2 , ⋯ , n ) (i=1,2,\cdots,n) (i=1,2,⋯,n),那么完成A的方法数有 N = ∑ i = 1 n m i N=\sum_{i=1}^{n}m_i N=∑i=1nmi
分类乘法计数原理
- 完成任务B有n个步骤,第 i i i个步骤有 m i m_i mi种不同的方法,则完成B的方法数有 N = ∏ i = 1 n m i N=\prod_{i=1}^{n}m_i N=∏i=1nmi
- 注意,乘法原理是各个步骤之间的顺序的,如果对调两个步骤仍能得到一样的效果,则该问题不是乘法原理能直接使用范围
-
例如组合问题:设有 a , b , c a,b,c a,b,c三个球,从中取出2个球可以产生多少种可能?
-
分步骤:第1步取第1个球,第2步取第2个球
-
连乘:得到的结果是 3 × 2 3\times{2} 3×2=6种
-
枚举这些可能:
- ab
- ac
- ba
- bc
- ca
- cb
-
容易发现,其中ab,ba是同一组合ac,ca是同一组合;bc,cb是同一组合
-
-
后面将介绍如何间接地利用乘法原理来计算组合数
-
小结
- 分类问题中,各类方法种的任意一种方法都可以把任务完成
- 分步问题中,每个步骤的任何一种方法都不能把这件事完成,只有把所有步骤依次全部完成,才能算把任务完成
- 在计数完成任务的方法总数时,所有方法必须完成任务的所有步骤,才算合格的方法能被计入总数(分类任务可以理解为步骤只有"一步"的的分步问题)
排列组合
-
排列与组合都是基于乘法计数原理的经典计数模型
-
从A,B,C球中任意取2个放入X,Y两个盒子中,这件事情有多少种做法?
- 这个事情有两个步骤,:
- 取2个球
- 将2个球放入两个盒子
- 还可以这样划分步骤:
- 先取一个球放入盒子X中
- 再取下一个球放入另一个盒子Y中
- 上面两种步骤的划分方式不同在于:
- 第1种两个步骤操作相差较大,将取球和放盒分开了
- 第1步有3种可能(A,B),(A,C),(B,C)
- 第2步,将2个选好的球放入2个盒子种有2种可能
- 第2种两个步骤内容操作基本一样,都是取球并放盒
- 第1步X盒中可能放入A,B,C中的一个,有3种可能
- 第2步剩下2个球中取一个放入Y,有2种可能
- 综上,有 3 × 2 = 6 3\times{2}=6 3×2=6种
- 第1种两个步骤操作相差较大,将取球和放盒分开了
- 这类问题,球的数量比盒子多,每个盒子都要放球,所以逐个地考虑盒子可以放入球的可能比逐个考虑球放入盒子的方式更合适
- 这个事情有两个步骤,:
元素
- 上例中"取球入盒"类型的问题,我们把被取的对象称为元素,放入的盒子抽象为位置(还可以理解为顺序)
- 上例用元素抽象重新描述为:3个不同元素,任意取2个分别占据既有2个位置中的一个
排列
- 从 n n n个不同元素中任意取 m ( m ⩽ n ) m(m\leqslant{n}) m(m⩽n)个元素,并按照一定的顺序成一列,称为从 n n n个不同元素中取 m m m个元素的一个排列
- 两个排列相同含义为:组成排列的元素相同,并且元素的排列顺序也相同
- 一个排列对应完成一个事件的方法
排列数
- 从 n n n个不同元素中取出 m ( m ⩽ n ) m(m\leqslant{n}) m(m⩽n)个元素的所有排列的个数,叫做从n个不同元素中取出 m m m个元素的排列数(排列个数的简称),通常用 A n m A_n^{m} Anm表示(A是英文Arrangement的首字母,有时也用 P n m P_{n}^{m} Pnm表示(P是Permutation的首字母))
- A n m A_{n}^{m} Anm也可以表示完成某个事件有 m m m步骤,且第 i i i个步骤有 n + 1 − i n+1-i n+1−i种方式完成,则完成m个步骤的方法数可以表示为以下 m m m个数值的乘积
- n n n
- n − 1 n-1 n−1
- ⋯ \cdots ⋯
- n − ( m − 1 ) n-(m-1) n−(m−1)
- 即 A n m = ∏ i = 1 m ( n + 1 − i ) A_{n}^{m}=\prod_{i=1}^{m}(n+1-i) Anm=∏i=1m(n+1−i)= n ! ( n − m ) ! \frac{n!}{(n-m)!} (n−m)!n!
全排列
- 从n个元素中取出n个元素(全部元素)构成的排列,称为这n个元素的全排列
- 此时排列数公式中 m = n m=n m=n, A n n = n ! A_n^{n}=n! Ann=n!
排列数性质
- A n m + m A n m − 1 = A n + 1 m A_n^m+mA_n^{m-1}=A_{n+1}^m Anm+mAnm−1=An+1m
从计数原理角度解释该公式
- 设原元素集A中有n个元素,编号为 1 , ⋯ , n 1,\cdots,n 1,⋯,n
- 现在,为集合添加一个新的元素(第 n + 1 n+1 n+1个元素),得到元素集合B,显然 B = A ∪ { n + 1 } B=A\cup{\{n+1\}} B=A∪{ n+1}, A ⊂ B A\sub{B} A⊂B
- 从B中选出m个元素记为 A n + 1 m A_{n+1}^{m} An+1m,其中包括两类
- 取出的m个元素不包含第 n + 1 n+1 n+1号元素,仅从A中选出 m m m个元素,共有 A n m A_{n}^{m} Anm种排列
- 取出的m个元素包含第 n + 1 n+1 n+1号元素,其余 m − 1 m-1 m−1个元素来自于A,共有 A n m − 1 A_{n}^{m-1} Anm−1种排列法,考虑将第 n + 1 n+1 n+1号元素放置在长度为 m m m的排列中有 m m m种可能,(或者元素插入到来自A的 m − 1 m-1 m−1个元素有 m − 1 + 1 = m m-1+1=m m−1+1=m种插法),因此这类情况会产生 m A n m − 1 mA_{n}^{m-1} mAnm−1种排列;其他方法:先将所有元素取好,从而 A A A中取出 m − 1 m-1 m−1个元素共有 C n m − 1 C_{n}^{m-1} Cnm−1种取法;第 m m m个球只能是第 n + 1 n+1 n+1号球,只有 C 1 1 C_{1}^{1} C11= 1 1 1种取法;将这 m m m个球做排列共有 A m m A_{m}^{m} Amm种排列方法;从而有乘法原理,共有 C n m − 1 C 1 1 A m m C_{n}^{m-1}C_{1}^{1}A_{m}^{m} Cnm−1C11Amm= m ⋅ n ! ( n − ( m − 1 ) ) ! m\cdot\frac{n!}{(n-(m-1))!}