460 likes | 618 Views
第åä¸€ç« æŽ’åˆ—ä¸Žç»„åˆ. è®¡æ•°çš„åŸºæœ¬åŽŸç†æ˜¯åŠ æ³•åŽŸç†å’Œä¹˜æ³•原ç†ï¼Œ å®¹æ–¥åŽŸç†æ˜¯åŠ æ³•åŽŸç†çš„æŽ¨å¹¿. 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| 。.
E N D
第十一章 排列与组合 计数的基本原理是加法原理和乘法原理, 容斥原理是加法原理的推广
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定理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.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)若规定工序四必须紧跟在工序三的后面,有多少种安排方法?例:在上例中,(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位数有多少个?例:十进制数字中,没有重复的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位数有5040-504=4536。
例:排列26个字母,使得在a和b之间正好有7个字母,问有多少种排法?例:排列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个女孩站成一排~,若没有两个女孩相邻,问有多少种排法?例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件为次品的方式数是多少?(4)抽出的3件产品中至少有1件为次品的方式数是多少? • 解:抽出的3件产品中至少有1件为次品,有两种情况, • 恰有1件次品和恰有2件次品, • 故共有9506+98=9604种。 • (5)抽出的3件产品中没有次品的方式数是多少? • 解:没有次品即意味着是从正品中选取, • 有C(98,3)=152096种。
例:从1,2,…,300之中任取3个数,使得它们的和能被3整除,问有多少种选取方法?例:从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。另外还可有一种选法就是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有: 证明从略。
推论11.2:对任何正整数n,有: • C(n,0)+C(n,1)+…+C(n,n)=2n • 证明:令x=y=1,有
推论11.3:对任何正整数n,有:C(n,0)-C(n,1)+C(n,2)-…+ (-1)nC(n,n)=0 • 证明:令x=-1,y=1,则 此推论又可表示为: C(n,0)+C(n,2)+ …=C(n,1)+C(n,3)+ … 定理11.7(牛顿二项式定理):设是一个实数,则对一切满足 |x/y|<1的x和y有:
其中C(,k)应作如下推广:对任意实数,整数k有:其中C(,k)应作如下推广:对任意实数,整数k有: 证明从略。
在上面的定理中,取=-n, y=1,即得下面的推论: • 推论11.4:对任何正整数n,对|x|<1有: 在上式中用-x代得:
定理11.8:设m,n,r,k为正整数,则下列恒等式成立。定理11.8:设m,n,r,k为正整数,则下列恒等式成立。 (2)C(n,k)=C(n-1,k)+C(n-1,k-1)(杨辉公式,又称Pascal公式);
(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时,上式即为
令x=1,则: • 证明:(1)、(2)、(5)根据定理11.5代入即得。下面证明(3)、(6)、(8),(4)、(7)的证明留作习题。 • (3)在二项式定理中,令y=1,则得: 对上式两边关于x求导,得:
(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}。例:有限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的一个排列就是它的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面绿旗依次悬挂在一根旗杆上,问可以组成多少种不同的标志? • 解:所求计数相当于有限多重集{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为非负整数,且满足方程S的任一个r-组合为S的子集,它的形式可写为:{x1·a1,x2·a2,…,xk·ak}。其中xi为非负整数,且满足方程 因此,一个r-组合就对应了上述方程的非负整数解。
给定T的一个排列,在此排列中有k-1个 0且这k-1个 0 把r个1 分成k 组。 • 从左数起,第一个 0 的左边的1的个数记为x1, • 介于第一个 0 和第二个 0 之间的1的个数记为x2,…, • 最后一个 0 的右边的1的个数记为xk, • 则所得到的x1,x2,…,xk都是非负整数,且其和等于r。
就是多重集T的一个排列, • |T|=(k-1)+r。 • 根据定理11.10,T的排列数为:
由定理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