第十一章 排列与组合
description
Transcript of 第十一章 排列与组合
第十一章 排列与组合
计数的基本原理是加法原理和乘法原理,容斥原理是加法原理的推广
11.1 基本计数原理• 定理 11.1( 加法原理 )设 A和 B 是有限
集 合 S 的 两 个 互 不 相 交 的 子 集 , 且A B=S∪ ,则 |S|=| A|+|B| 。
• 证明:因为 S=A B∪ ,先求 A 中元素个数为 |A| ,再求 S 中其余元素个数。
• 因为 A和 B 是有限集合 S 的两个互不相交的子集,
• 所以 S 中的元素不在 A 中必在 B 中,且B 中元素不在 A 中,
• 所以 S 中不在 A 中的元素有 |B| 个,即 |S|=|A|+|B| 。
• 定理 11.2( 乘法原理 ) :设集合 A和 B都 是 有 限 集 , |A|=p , |B|=q , 则 : |A×B|=pq
• 证明从略。• 例:某学生从 2 门数学课和 4 门计算
机课中任意选修一门,• 有 2+4=6 种选修方法。• 若他要选修数学课和计算机课各一门,• 则有 2×4=8 种选修方法。
11.2 集合的排列• 一、集合的排列• 将讨论集合的排列,包括环排列问题。• 1. 排列• (1) 从 {1,2,3,4,5,6,7,8,9} 选取数字构成 4 位数,
如果要求每位数字都不相同,问有多少种选法?
• (2) 从 {1,2,3,4,5,6,7,8,9} 选取数字构成 4 位数,问有多少种选法?
• 这两个问题不同点在于前者不允许重复选取,而后者则允许重复。
• 首先考虑不重复问题。
• 定义 11.1: 从 n 个元素的集合 S 中有序选取的 r 个元素称为 S 的一个 r- 排列,不同的排列总数记为 p(n,r) 。若 r=n ,则称此排列为全排列。当 r>n ,规定p(n,r)=0。
• 定理 11.3 :对 rn 的正整数 n,r ,有p(n,r)=n(n-1)…(n-r+1)
• 令 n!=n(n-1)…2•1 , 且 规 定 0!=1 , 则p(n,r)=n!/(n-r)!
• 例:某产品加工需要一、二、三、四、五共 5 道工序,
• 则安排这些加工工序共有 p(5,5)=120 种方法。
• 若工序一必须先加工,则有 p(4,4)=24种方法。
• 若工序三不能放在最后加工,此时的安排加工工序的方法数可这样来求:
• 由于工序三的加工安排有 p(4,1)=4 种,• 而其余的工序安排共有 p(4,4)=24 种,• 由乘法原理知共有 4×24=96 种方法。
• 例:在上例中, (1) 若规定工序四必须紧跟在工序三的后面,有多少种安排方法 ?
• (2) 若规定工序二必须在工序五的前面,有多少种安排方法 ?
• 解: (1) 把工序三、四看成一个工序,这样就相当于四道工序,因此有 p(4,4)=24 种方法。
• (2) 把工序二放在工序五的前面,有四种情况 :• 1) 工序二、五在一起,相当于四道工序,• 因此有 24 种 ;• 2) 工序二、五中间间隔一道工序,中间一道工序从
一、三、四中选,有 p(3,1)=3 种,• 把工序二、五连同中间间隔一道工序看成一个工序,• 这样就相当于三道工序,• 因此有 p(3,3)=6 种方法,• 由乘法原理得 p(3,3)×p(3,1)=18 种 ;
• 3) 工序二、五中间间隔两道工序,• 中间两道工序从一、三、四中选,有 p(3,2) 种,• 把工序二、五连同中间间隔两道工序看成一个
工序,• 这样就相当于两道工序,因此有 p(2,2) 种方法,• 由乘法原理得 p(2,2)×p(3,2)=12 种 ; • 4) 工 序 二 、 五 中 间 间 隔 三 道 工 序 , 则 有
p(3,3)=6 种。• 由加法原理知,要使工序二在工序五的前面,
安排加工工序的方法共有 24+18+12+6=60 种。
• 例:十进制数字中,没有重复的 4 位数有多少个?
• 解:这是从 10 个数字 0,1,2,3,4,5,6,7,8,9 中取 4个的排列问题,
• 所以 P(10,4)=5040。• 又因为 4 位数首位不能为 0 ,必须去掉这种情
况。• 而首位是 0 的 4 位十进制字符串个数就是考虑
另三位从 1,2,3,4,5,6,7,8,9 中选取的问题,• 即为 P(9,3)=504。• 所以十进制数字中,没有重复的 4 位数有 504
0-504=4536 。
• 例:排列 26 个字母,使得在 a和 b 之间正好有7 个字母,问有多少种排法 ?
• 解: (1)a首 b 尾,中间恰含 7 个字母的排列有P(24,7);
• b 首 a 尾 , 中 间 恰 含 7 个 字 母 的 排 列 有P(24,7)。
• 因此以 a,b 为端点的 9 个字母排列有 2P(24,7)。• (2) 把上述 9 个字母看成整体,与剩下的 17 个字
母共 18 个进行全排列,有 P(18,18)=18!• 因此由乘法原理得“排列 26 个字母,使得在 a和 b 之 间 正 好 有 7 个 字 母 ” 的 排 法 有2P(24,7)18!
• 2. 环排列• 前面讨论的排列确切地说应该称为线形
排列,下面将介绍环排列。• 定义 11.2 :从有限集合 A={a1,a2,…,an}
上选取 r 个元素排成一个环形,这样的排列称为 A 一个 r- 环排列。
• 例如排列 12345 与排列 45123 是不同的排列,但首尾相接成环时就是同一个环排列了,因此从集合中选取元素排成一个环,其排列数将比线形排列数少。
• 定理 11.4 :由 n 个元素组成的集合 A的 r- 环排列数是: p(n,r)/r 。 A的 n-环排列数是 P(n,n)/n=(n-1)!
• 证明:把 A 的所有 r- 线形排列分成组,使得同组的每个线形排列可以连接成同一个环排列。
• 而对于一个 r- 环排列可产生 r个 r- 线形排列 (在 r 个位置上断链,产生 r 个不同排列 r- 线形排列 ) ,
因此每组中恰含有 r个 r- 线形排列,所以 A的 r- 环排列数为 p(n,r)/r。当 r=n 时, A 的环排列数为 p(n,n)/n=(n-1)!
• 例 11.5 : (1)10 个男孩和 5 个女孩站成一排 ~ ,若没有两个女孩相邻,问有多少种排法 ?
• (2)10 个男孩和 5 个女孩站成一个圆圈,若没有两个女孩相邻,问有多少种排法 ?
• 解:把男孩看成格子的分界,而每两个男孩之间则看成一个空格。
• (1) 10 个男孩站成一排的排法有 p(10,10) 种,• 对于每一种排法有 11 个空位置放置 5 个女孩,• 有 p(11,5) 种放法。• 由乘法原理得所求排列数是• p(10,10)×p(11,5)=(10!×11!)/6!。
• (2) 10 个男孩站成一圈的排法实际上就是 10 个元素的环排列数,
• 为 p(10,10)/10。• 而对于每一种排法有 10 个空位置放置
女孩,• 故方法数为 p(10,5)。• 由乘法原理得所求排列数是
p(10,10)/10)×p(10,5)=(10!×9!)/5!
11.3 集合的组合• 集合的组合问题• C(n,k) 的有关性质及恒等式。• 一、集合的组合• 定义 11.3 :从 n 个元素的集合 A 中无
序选取 r 个元素组成 S 的子集称为 S 的一 个 r- 组 合 , 不 同 的 组 合 总 数 记 为C(n,r) 。当 n0 ,规定 C(n,0)=1。
• 显然当 r>n 时, C(n,r)=0。
• 定 理 11.5 : 对 于 一 切 rn , 有 :C(n,r)=p(n,r)/r!
• 即: C(n,r)=n!/r!(n-r)!• 证明:根据 C(n,r) 的定义可以知道, C(n,r)
表示从 n 个元素中选取 r 个元素的选法数。• 与集合的排列相比,主要在于集合的排列还
对所选出的 r 个元素进行全排列,这有 r! 种。• 由乘法原理得, n 个元素的 r 种元素的排列数
p(n,r) 可以表示为 C(n,r)r!。• 即 C(n,r)r!=p(n,r),• 故 C(n,r)=p(n,r)/r!=n!/(r!(n-r)!)。
• 推论 11.1 :对于一切 rn ,有 C(n,r)= C(n,n-r)。
• 证明: C(n,r)=n!/(r!(n-r)!)=n!/((n-(n-r))!(n-r)!)=C(n,n-r)
• 例:一周安排 3 天上机,问有多少种不同安排方式?
• 解:一周 7 天,即 7 个元素;• 3 天上机,不存在次序问题,从 7 中选
3 ,• 有 C(7,3)=7!/(3!4!)=35。
• 例:在 100 件产品中,有 2 件次品。• (1) 从其中任意抽出 3 件,方式数是多少 ? • 解:无序,这是组合问题,• 故有 C(100,3)=161700 种。• (2) 抽出的 3 件产品中恰有 2 件为次品的方式
数是多少 ?• 解: 2 件从次品中选取,有 C(2,2) 种,• 另外 1 件从正品中选,有 C(98,1) 种,• 由乘法原理得,共有 C(2,2)×C(98,1)=98 种。• (3) 抽出的 3 件产品中恰有 1 件次品的方式数
是多少 ?• 解: 1 件从次品中选取,有 C(2,1) 种,• 另外 2 件从正品中选,则有 C(98,2),• 故共有 C(2,1)×C(98,2)=9506 种。
• (4) 抽出的 3 件产品中至少有 1 件为次品的方式数是多少 ?
• 解:抽出的 3 件产品中至少有 1 件为次品,有两种情况,
• 恰有 1 件次品和恰有 2 件次品,• 故共有 9506+98=9604 种。• (5) 抽出的 3 件产品中没有次品的方式数
是多少 ?
• 解:没有次品即意味着是从正品中选取,• 有 C(98,3)=152096 种。
• 例:从 1,2,…,300 之中任取 3 个数,使得它们的和能被 3 整除,问有多少种选取方法 ?
• 解:把 1,2,…,300 分成 A,B,C 三个组。• A={x|x=1mod 3} , B={x|x=2 mod 3} , C={x|
x=0 mod 3}• 显然 |A|=|B|=|C|=100。• 设任取的 3 个数为 i,j,k ,则选取是无序的且
满足 i+j+k=0 mod 3,• 一种选法是 i,j,k 都取自同一组,或者都从 A
中,或都从 B 中,或都从 C 中选取,共有三个组,每组取法为 C(100,3),
• 所以方法数为 3C(100,3);
• 另外还可有一种选法就是 i,j,k 分别取自A,B,C 这三个集合,这是因为 1+2+0=3=0mod3。
• 由乘法原理知,方法数为 C(100,1))3
• 所以由加法原理,• 总取法数为 3C(100,3)+(C(100,1)) 3。
• 二、二项式系数及组合恒等式• 表示 n 个元素集合的 k 组合个数 C(n,k)
有不少性质及各种恒等式,由于它们出现在二项式定理之中,故称它们为二项式系数。
• 定理 11.6( 二项式定理 ) :设 n 为正整数,对一切 x和 y 有:
n
k
knkn yxknCyx0
),()(
证明从略。
• 推论 11.2 :对任何正整数 n ,有:• C(n,0)+C(n,1)+…+C(n,n)=2n
• 证明:令 x=y=1 ,有
n
k
n
k
knknn knCknC00
),(11),()11(2
• 推 论 11.3 : 对 任何正 整 数 n , 有 :C(n,0)-C(n,1)+C(n,2)-…+ (-1)nC(n,n)=0
• 证明 :令 x=-1,y=1 ,则
n
k
kn
k
knkn knCknC00
),()1(1)1)(,()11(0
此推论又可表示为 :C(n,0)+C(n,2)+ …=C(n,1)+C(n,3)+ …定理 11.7(牛顿二项式定理 ) :设是一个实数,则对一切满足 |x/y|<1的 x和 y 有 :
0
))(,()(k
kk yxkCyx
• 其中 C(,k) 应作如下推广:对任意实数,整数 k 有:
00
01
0)1()1(
),(
k
k
kk
kC
证明从略。
• 在上面的定理中,取 =-n, y=1 ,即得下面的推论:
• 推论 11.4 :对任何正整数 n ,对 |x|<1 有 :
0
),1()1()1(
1
)1(
1
k
kknn
xkknCxx
在上式中用 -x代得:
00
),1())(,1()1()1(
1
k
k
k
kkn
xkknCxkknCx
• 定理 11.8 :设 m,n,r,k 为正整数,则下列恒等式成立。
)1,1(),()1( knCk
nknC
(2)C(n,k)=C(n-1,k)+C(n-1,k-1)(杨辉公式,又称 Pascal公式 ) ;
1
1
2),()3(
n
n
k
nknkC
2
1
2 2)1(),()4(
n
n
k
nnknCk
• (5)C(n,r)C(r,k)=C(n,k)C(n-k,r-k) ,这里rk;
• (6)C(m,0)C(n,r)+C(m,1)C(n,r-1)++C(m,r)C(n,0)=C(m+n,r) , 这里rmin{m,n} 。 该 公 式 又 称 为Vandermonde 恒等式;
• (7)C(m,0)C(n,0)+C(m,1)C(n,1)++C(m,m)C(n,m)=C(m+n,m) ,这里 mn 。当m=n 时,上式即为
),2(),(0
2 nnCknCn
k
• 证明: (1) 、 (2) 、 (5) 根据定理 11.5代入即得。下面证明 (3) 、 (6) 、 (8) , (4) 、(7) 的证明留作习题。
• (3) 在二项式定理中,令 y=1 ,则得 :
),1(),()8(0
mmnCkknCm
k
n
k
kn xknCx0
),()1(
对上式两边关于 x 求导,得:
n
k
kn xknkCxn0
11 ),()1(
令 x=1 ,则:
n
k
nn knkCnn0
11 ),()11(2
• (6) 构造 m+n 个元素的集合 S, S={a1,a2,…,am,b1,b2,…,bn}, C(m+n,r) 表示从 S 中无序选取 r 个元素的方法数。令 S1={a1,a2,…,am},S2={b1,b2,…,bn} 。把上述选法分类 :
• 在 S1 中不选,从 S2 中选 r 个方法数 :C(m,0)C(n,r)。• 在 S1 中 选 1 个 , 从 S2 中 选 r-1 个 方 法 数 :
C(m,1)C(n,r-1)。• …• 在 S1 中 选 r 个 , 在 S2 中 不 选 的 方 法 数 :
C(m,r)C(n,0)。• 由加法法则,选法总数为:• C(m,0)C(n,r)+C(m,1)C(n,r-1)+ …
+C(m,r)C(n,0)=C(n+m,r)
• (8) 由 (2) 可得:• C(n+k+1,k)=C(n+k,k)+C(n+k,k-1)
11.4 多重集的排列和组合• 一、多重集• 所谓集合是一些不同对象全体。• 所谓多重集是一些对象 ( 可重复出现 ) 的全体,• 多重集中对象 ai 出现的次数 ni 称为元素 ai 的
重数。• 若多重集中不同元素个数为 k 时,称该多重
集为 k 元多重集。• 如果多重集的元素个数是有限的,则称为有
限多重集。• 若有限多重集 S 有 a1,a2,…,ak共 k 个不同元素,且 ai 的重数为 ni ,则可记为:
• {n1a1,n2a2,…,nkak}
• 例:有限 3 元多重集 {a,a,a,a,b,b,c} 可简记为 {4a,2b,1c}。
• 如果 k 元多重集的不同元素重复出现任意多次时,可记为:
• {a1,a2,…,ak}• 两个多重集的并交差运算定义为:• A B=C,∪• 对任意 ciC , ci 的重数就等于该元素在
A、 B 中的重数的最大值。• 例: A={1a,3b,3c},B={2a,1b,2c,1d},• A B=∪
• A∩B=C,• 对任意 ciC, ci 的重数就等于该元素在
A、 B 中的重数的最小值。• A∩B=• 一般集合是多重集元素重数为 0或 1 的特殊情
况。容易验证,多重集中所定义的并交运算当多重集中元素重数为 0或 1 时,就是普通集合的并交运算。
• 那么 A-B=?• 对 A 中每个元素,它的重数减去在 B 中的重
数若 >0 ,则就是该元素在 A-B 中的重数,否则 (A 的重数减去在 B 中的重数 0) 该元素在 A-B 中的重数为 0 。
• A-B=
• 二、多重集的排列• 定 义 11.4 : 设 有 限 多 重 集 S={n1a1,n2a2,
…,nkak} ,且 n=n1+n2+…+nk ,从 S 中有序选取 r 个元素称为 S 的一个 r- 排列 (r|S|=n) ,当 r=n 时,称为 S 的一个全排列。
• 从 k 元多重集 S={a1,a2,…,ak} 中有序选取 r 个元素也称为 S 的一个 r- 排列。
• 例 S={2a,1b,3c}, acbc、 cbcc、 abca 都是 S 的 4 排列,
• 而 abccac是 s 的 6 排列,• 因为 |S|=6<7 ,所以 S 没有 7 排列。
• 定 理 11.9: 设 k 元 多 重 集 S={a1,a2, …,ak},则 S的 r- 排列 数是 kr
• 证明:在构造 S 的一个 r- 排列时,每一位都有 k 种选法。由于 S 中的每种元素可任意次重复,因此每位的选择是相互独立的,由乘法原理即得不同的排列数为 kr
• 由此定理可得下面结论:• 推 论 : 设 S={n1a1,n2a2,…,nkak} , 且 对
一切 i=1,2,…,n ,有 nir ,则 S 的 r- 排列数是 kr。
• 例:求 4 位二进制字符串的个数。• 解:此问题相当于求多重集 {0,1}
的 4- 排列数 , 故为 24=16 。• 定 理 11.10 : 设 有 限 多 重 集
S={n1a1,n2a2, …,nkak} ,且 n=n1+n2+…+nk=|S| ,则 S 的全排列数为: n!/(n1!n2!…nk!)。
• 证明: S 的一个排列就是它的 n 个元素的一个全排列,
• 但 S 中有 n1个 a1 ,在排列时要占据 n1 个位置,• 故对 n1个 a1 的排列就是从 n 个位置中无序选取 n1 个位置,其方法数为 C(n,n1)。
• 对 n2个 a2 的排列则是从剩下的 n-n1 中无序选取 n2 个位置,其方法数为 C(n-n1,n2)。
• 对 S 中其它元素的排列类似得到方法数。• 由乘法原理得 S 的排列数为:• N=C(n,n1)C(n-n1,n2)…C(n-n1-…-nk-1,nk)
• =n!/(n1!n2!…nk!)
• 例:用 2 面红旗, 3 面黄旗和 3 面绿旗依次悬挂在一根旗杆上,问可以组成多少种不同的标志 ?
• 解:所求计数相当于有限多重集 {2红旗 ,3黄旗 , 3绿旗 } 的排列数 N ,由定理 11.10 有:
• N=• 例:对 12 间办公室进行粉刷,其中要求把 3
间粉刷成白色, 2 间为黄色, 2 间为绿色,其余为蓝色,问有多少种不同的粉刷方法 ?
• 解:所求计数相当于有限多重集 {3白色 ,2黄色 , 2绿色 ,5蓝色 } 的排列数 N ,由定理11.10 有:
• N=
• 关于有限多重集的排列问题小结如下 :
• 设 S={n1a1,n2a2,…,nkak}, n=n1+n2+… +nk=|S| ,则 S的 r- 排列数 N 满足:
• (1)若 r>n ,则 N=0。• (2)若 r=n ,则 N=n!/(n1!n2!…nk!)
• (3) 若 r<n , 且 对 一 切 i=1,2,…,n ,有nir ,则 S的 r- 排列数是 kr。
• (4)若 r<n ,且存在着某个 ni<r ,则对 N目前没有一般的求解方法,但在以后介绍生成函数后可以解决。
三、多重集的组合定义 11.5 :设多重集 S={n1·a1,n2·a2,…, nk·ak}( 这里 ni 可以是有限也可以是无限的 )。 S 的含有 r 个元素的子多重集称为 S的 r- 组合。当 |S|=n ,显然 S的 n- 组合只有一个,就是S自己。而 S的 1- 组合数有 k个 (从 S的 k个不同元素中任选一个 ) 。定理 11.11:设 k 元多重集 S={·a1,·a2, …, ·ak},则 S的 r- 组合数是 C(k+r-1,r) 。
• S 的任一个 r- 组合为 S 的子集,它的形式可写为 :{x1·a1,x2·a2,…,xk·ak} 。其中 xi
为非负整数,且满足方程
证明:(1)求S的r-组合数就是确定方程rxk
ii1的非负整
数解的组数。
rxk
ii
1
因此,一个 r- 组合就对应了上述方程的非负整数解。
反之,由满足rxk
ii1方程的一组非负整数解,x1,x2,…,xk也可
得到S的一个r-组合。
所以求S的r-组合数就是确定方程rxk
ii
1的非负整数
解的组数。
• 给定 T 的一个排列,在此排列中有 k-1个 0 且这 k-1 个 0 把 r个 1 分成 k 组。
• 从左数起,第一个 0 的左边的 1 的个数记为 x1 ,
• 介于第一个 0 和第二个 0 之间的 1 的个数记为 x2,…,
• 最后一个 0 的右边的 1 的个数记为 xk ,• 则所得到的 x1,x2,…,xk 都是非负整数,且
其和等于 r 。
(2)方程rxk
ii
1的非负整数解的组数等于
多重集T={(k-1)·0,r·1}的排列数。
• 就是多重集 T 的一个排列,• |T|=(k-1)+r 。• 根据定理 11.10, T 的排列数为:
给定方程rxk
ii
1的一组非负整数解
x1,x2,…,xk,可以如下构造排列:
),1(!)!1(
)!1(rrkC
rk
rk
• 由定理 11.11 可得到推论。• 推论 11.5 :设有限多重集 S={n1·a1,n2·a2,
…, nk·ak} ,且 nir(1ik),则 S的 r- 组合数是 C(k+r-1,r) 。
• 例:掷 3粒骰子出现的不同情况有多少种?
• 解 : 这 相 当 于 从 多 重 集{3·1,3·2,3·3,3·4,3·5, 3·6} 中无序选取 3 个数,由推论 11.5 得,其不同的结果数为 C(6+3-1,3)=C(8,3)=56 。
•作业 :
• P236 1,5,6,7,8,10,13,14, 15,17