1、第三章 容斥原理和鸽巢原理1 容斥原理引论例 1,20中2或3的倍数的个数 解 2的倍数是:2,4,6,8,10, 12,14,16,18,20。 10个,3.1 容斥原理引论,3的倍数是:3,6,9,12,15,18。 6个 但答案不是10+6=16 个,因为6, 12,18在两类中重复计数,应减 去。故答案是:16-3=13,3.2 容斥原理,容斥原理研究有限集合的交或并 的计数。 DeMorgan定理 论域U,补集,有,3.2 容斥原理,(a),(b),证:(a)的证明。 设 ,则 相当于 和 同时成立,亦即,(1),3.2 容斥原理,反之,若,故,(2),由(1)和(2)得,(b)的证
2、明和(a)类似,从略.,3.2 容斥原理,DeMogan定理的推广:设,证明:只证(a). N=2时定理已证。 设定理对n是正确的,即假定:,3.2 容斥原理,正确,即定理对n+1也是正确的。,3.2 容斥原理,2 容斥原理,最简单的计数问题是求有限集合A和B的并的元素数目。显然有,即具有性质A或B的元素的个数等于具,3.2 容斥原理,有性质A和B的元素个数。,U,B,A,3.2 容斥原理,3.2 容斥原理,证 若AB=,则 | AB |= |A| + |B| | A | A ( BB) | (AB)(AB)| AB | + | AB | ( 1 ) 同理 | B | | BA | + | B
3、A | ( 2 ) | AB |(A( BB)(B(AA)| |(AB)(AB)(BA)(BA)| | AB| + |AB | + | BA| ( 3 ),3.2 容斥原理,( 3 ) ( 1 ) ( 2 ) 得 | AB | A | B | | AB| + |AB | + | BA|( | AB | + | AB | )( | BA | + | BA | ) | AB | | AB | A | + | B | AB |,3.2 容斥原理,3.2 容斥原理,A,B,C,3.2 容斥原理,例 一个学校只有三门课程:数学、物理、化学。已知修这三门课的学生分别有170、130、120人;同时修 数学
4、、物理两门课的学生45人;同时修数学、化学的20人;同时修物理化学的22人。同时修三门的3人。问这学 校共有多少学生?,3.2 容斥原理,令:M为修数学的学生集合;P 为修物理的学生集合;C 为修化学的学生集合;,3.2 容斥原理,即学校学生数为336人。,3.2 容斥原理,同理可推出:,利用数学归纳法可得一般的定理:,3.2 容斥原理,定理 设(n,k)是1,n的所有k- 子集的集合, 则|Ai | = (1)k-1 | Ai |证 对n用归纳法。n=2时,等式成立。假设对n - 1,等式成立。对于n有,3.2 容斥原理,n,i=1,k=1,n,I(n,k),iI,3.2 容斥原理,I(n-
5、1,k),I(n-1,k),iI,3.2 容斥原理,I(n,k),I(n-1,k-1),I(n-1,k),此定理也可表示为:,(4),3.2 容斥原理,证:用数学归纳法证明。 已知 n=2时有,设 n-1时成立,即有:,3.2 容斥原理,3.2 容斥原理,3.2 容斥原理,3.2 容斥原理,3.2 容斥原理,3.2 容斥原理,3.2 容斥原理,3.2 容斥原理,其中N是集合U的元素个数,即不属于 A的元素个数等于集合的全体减去属于 A的元素的个数。一般有:,3.2 容斥原理,(5),容斥原理指的就是(4)和(5)式。,3.2 容斥原理,3 例,例1 求a,b,c,d,e,f六个字母的全排列 中
6、不允许出现ace和df图象的排列数。解:设A为ace作为一个元素出现的 排列集,B为 df作为一个元素出现的 排列集, 为同时出现ace、df的 排列数。,3.3 例,根据容斥原理,不出现ace和df的排列数 为:,=6!- (5!+4!)+3!=582,3.3 例,例2 求从1到500的整数中能被3或5 除尽的数的个数。解: 令A为从1到500的整数中被3除 尽的数的集合,B为被5除尽的数的集合,3.3 例,被3或5除尽的数的个数为,例3 求由a,b,c,d四个字母构成的位符号串中,a,b,c,d至少出现一次的符号 串数目。,3.3 例,解:令A、B、C分别为n位符号串中 不出现a,b,c符
7、号的集合。由于n位符号串中每一位都可取a, b,c,d四种符号中的一个,故不允许 出现a的n位符号串的个数应是,3.3 例,a,b,c至少出现一次的n位符号串集 合即为,3.3 例,例4。求不超过120的素数个数。,因 ,故不超过120的合数必然是2、3、5、7的倍数,而且不超过120的合数的因子不可能都超过11。设 为不超过120的数 的倍数集, =2,3,5,7。,3.3 例,3.3 例,3.3 例,3.3 例,3.3 例,注意:27并非就是不超过120的素数个数,因为这里排除了2,3,5,7着四个数,又包含了1这个非素数。2, 3,5,7本身是素数。故所求的不超过 120的素数个数为:2
8、7+4-1=30,3.3 例,例5。用26个英文字母作不允许重复的 全排列,要求排除dog,god,gum, depth,thing字样的出现,求满足这些 条件的排列数。解:所有排列中,令:,3.3 例,3.3 例,出现dog字样的排列,相当于把dog作 为一个单元参加排列,故,类似有:,由于god,dog不可能在一个排列中同时出现,故:,类似:,3.3 例,由于gum,dog可以在dogum字样中同时 出现,故有:,类似有god和depth可以在godepth字样 中同时出现,故,god和thing可以在thingod字样中同时 出现,从而,3.3 例,3.3 例,由于god、depth、t
9、hing不可以同时出 现,故有:,其余多于3个集合的交集都为空集。,3.3 例,故满足要求的排列数为:,3.3 例,例6。求完全由n个布尔变量确定的布 而函数的个数。解:设,布尔函数类为:,由于n个布尔变量 的不 同的真值表数目与 位2进制数数目相同,故为 个。根据容斥原理,满足条件的函数数目为:,3.3 例,3.3 例,3.3 例,这10个布尔函数为: x1x2,x1x2,x1x2, x1x2, x1x2,x1x2,x1x2, x1x2, (x1x2)(x1x2), (x1x2)(x1x2),例7。欧拉函数(n)是求小于n且与n 互素的数的个数。解:若n分解为素数的乘积,设1到n的n个数中为
10、 倍数的集合为,则有,3.3 例,3.3 例,3.3 例,即比60小且与60无公因子的数有16个: 7,11,13,17。19。23,29,31, 37,41,43,47,49,53,59,此外 尚有一个1。,3.3 例,4 错排问题,n个元素依次给以标号1,2,n。 N个元素的全排列中,求每个元素都不 在自己原来位置上的排列数。设 为数 在第 位上的全体排列,=1,2,n。因数字 不能动, 因而有:,3.3 例,3.4 错排问题,每个元素都不在原来位置的排列数为,3.4 错排问题,例1。数1,2,9的全排列中,求 偶数在原来位置上,其余都不在原来位 置的错排数目。解:实际上是1,3,5,7,
11、9五个数 的错排问题,总数为:,3.4 错排问题,例2. 在8个字母A,B,C,D,E,F,G,H的全 排列中,求使A,C,E,G四个字母不在原来 上的错排数目。,8个字母的全排列中,令 分别表A,C,E,G在原来位置上的排列,则错排数为:,3.4 错排问题,3.4 错排问题,例3。求8个字母A,B,C,D,E,F,G,H的全排列中只有4个不在原来位置的排列 数。,解:8个字母中只有4个不在原来位置 上,其余4个字母保持不动,相当于4个 元素的错排,其数目为,3.4 错排问题,故8个字母的全排列中有4个不在原来 位置上的排列数应为:C(8,4)9=630,3.4 错排问题,5 棋盘多项式和有限
12、制排列,1. 有限制排列,3.5 棋盘多项式和有限制排列,例 4个x ,3个y,2个z的全排列中,求不出现xxxx,yyy,zz图象的排列。解 设出现xxxx的排列的集合记为A1,|A1|= =60;设出现yyy的排列的集合记为A2,| A2|= =105;,6!,1!3!2!,4!2!,7!,3.5 棋盘多项式和有限制排列,设出现zz的排列的集合记为A3, | A3|= =280;|A1A2|= =12; |A1A3|= =20;|A2A3|= =30; |A1A2A3|=3!=6;全排列的个数为: =1260; 所以:|A1A2A3|=1260(60+105+280)+(12+20+30)
13、6=871,4!3!,8!,4!,2!,5!,3!,6!,4!,9!,2!3!4!,3.5 棋盘多项式和有限制排列,2棋子多项式,n个不同元素的一个全排列可看做n个相 同的棋子在nn的棋盘上的一个布局。布 局满足同一行(列)中有且仅有一个棋子,x,x,x,x,x,如图所示的布局对应 于排列41352。,3.5 棋盘多项式和有限制排列,可以把棋盘的形状推广到任意形状:,布子规定称为无对攻规则,棋子相当于 象棋中的车。令r k(C)表示k个棋子布到棋盘C上的 方案数。如:,3.5 棋盘多项式和有限制排列,r1( )=1,,r1( )=2,,r1( )=2,,r2( )=0,,r2( )=1。,为了
14、形象化起见,( )中的图象便是棋盘 的形状。,3.5 棋盘多项式和有限制排列,定义 设C为一棋盘,称R(C)= rk(C) xk 为C的棋盘多项式。规定 r0(C)=1,包括C=时。 设Ci是棋盘C的某一指定格子所在的行与 列都去掉后所得的棋盘;Ce是仅去掉该 格子后的棋盘。在上面定义下,显然有rk(C)=rk1(Ci)rk(Ce),,k=0,3.5 棋盘多项式和有限制排列,即对任一指定的格子,要么布子,所得的 方案数为 rk1(Ci);要么不布子,方案数为 rk(Ce)。,设C有n个格子,则 r1(C)n r1(C)r0(Ci) + r1(Ce), r1(Ce)n1 r0(Ci)1故规定 r
15、0(C)1是合理的,3.5 棋盘多项式和有限制排列,即对任一指定的格子,要么布子,所得的 方案数为 rk1(Ci);要么不布子,方案数为 rk(Ce)。 从而R(C)= rk(C) xkrk1(Ci)+ rk(Ce)xk= x rk(Ci)xk + rk(Ce)xkxR(Ci) + R(C e) (3),k=0,k=0,k=0,k=0,3.5 棋盘多项式和有限制排列,例如:,R( )=1+ x;,R( )= xR( )+ R( )= x+ (1+ x)=1+2x;,R( )= x R( ) + R( )= x(1 + x )+1 + x=1+ 2x +x2,3.5 棋盘多项式和有限制排列,如果
16、 C由相互分离的C1,C2组成,即C1 的任一格子所在的行和列中都没有C2的格 子。则有:rk(C) = ri(C1) rki(C2),i=0,k,故 R(C) = ( ri(C1) rki(C2) ) xk= ( ri(C1) xi) ( rj(C2) xj ),j=0,n,n,k,n,i=0,i=0,k=0, R(C) = R(C1) R(C2) (4),3.5 棋盘多项式和有限制排列,利用()和(),可以把一个比较复 杂的棋盘逐步分解成相对比较简单的棋盘, 从而得到其棋盘多项式。,例 R ( ) = xR( )+R( )= x(1+ x)2 +(1+2x)2=1+ 5x +6x2 + x
17、3,*,R( ) = xR( ) + R( )= 1+6x +10 x2 +4x3,3.5 棋盘多项式和有限制排列,有禁区的排列,例 设对于排列P=P1 P2 P3 P4,规定P1, P、, P2、, P42。,1 2 3 4,P1,P2,P3,P4,1,2,4 3,1 4 3,2,2 3,4,3,1 2,1 4,这样的排列对应于有 禁区的布子。如右图 有影线的格子表示禁 区。,3.5 棋盘多项式和有限制排列,定理 设 ri 为 I个棋子布入禁区的方案数, i =1,2,3,n。有禁区的布子方案数(即禁 区内不布子的方案数)为,r0 n! r1(n1)! r2(n2)!(1)nrn(1)k r
18、k ( nk)!,k=0,n,证 设Ai 为第i个棋子布入禁区,其他棋子 任意布的方案集,i =1 , 2 , 3, ,n。,3.5 棋盘多项式和有限制排列,则所有棋子都不布入禁区的方案数为A1A2Ann! (1)k Ai,I(n , k),n,iI,k=0,而 Ai正是k个棋子布入禁区,其 他n - k个棋子任意布的方案数。由假设可知 等于rk(nk)!(注意:布入禁区的棋子也要 遵守无对攻规则).所以 A1A2An=n!+ (1)k rk ( nk)!,I(n , k),iI,k=0,n,3.5 棋盘多项式和有限制排列,上例方案数为4!6(41)!11(42)!7(43)!1(4)!4,例
19、 ,四位工人,A,B, C,D四项任务。条件如下: 不干B;不干B、C; 不干C、D;不干D。 问有多少种可行方案?,3.5 棋盘多项式和有限制排列,解 由题意,可得如下棋盘:,其中有影线的格子表示 禁区。,A B C D,1 2 3 4,R( )=1+6x+10x2+4x3,方案数=4!6(41)!+10(42)!4(43)!+0(44)!=4,3.5 棋盘多项式和有限制排列,例 三论错排问题 错排问题对应的是nn的棋盘的主对角线 上的格子是禁区的布子问题。,C =,R( C ) = ( 1 + x )n = ( ) xk 令rk = ( ),n,k=0,n,k,n,k,故R(C)中的xn
20、: n! + (1)k ( ) (nk)!= n! (1)k =Pn,k=1,n,n,k=0,k!,1,k,n,3.6 一般公式,3.6 一般公式,若将.2中的例子改为“单修一门数学的 学生有多少?”“只修一门课的学生有多少 ”“只修两门课的学生有多少?”则相应的 答案表示如下: MPC; MPC+MPC+MPC MPC+MPC+MPC,3.6 一般公式,设有与性质, 2 , , n相关的元素N个, Ai为有第 i 种性质的元素的集合.i=1,2,n Pk为至少有k种性质的元素的元次; qk为恰有k种性质的元素的个数。,P0 = N,P1 = | A1 | + | A2 | + + | An
21、|, P2 = | A1A2 |+ | A1A3 |+ + | An - 1An | Pk = | Aij | qk = | ( Ai) ( Aj)|,I(n ,k),i I,I(n ,k),i I,j I,3.6 一般公式,定理 qk = (1)i( )Pk+i,k+ii,i=0,n-k,证 设某一元素恰有k种性质,则其对Pk 的某一项的贡献为,而对Pk+1,Pk+2 , , Pn的贡献都是。若某一元的性质少于k种 则其对Pk,Pk+1,Pn的贡献都是。若 恰有k + j种性质,则其对Pk的贡献是( ), 对Pk+i的贡献是( ),k + j,k,k + j,k + i,3.6 一般公式,而
22、 (1)i ( ) ( )= (1)i ( ) ( ) = (1)i ( ) ( ) = ( ) (1)i ( )= ( ) 0 = 0 即某恰有k + j种性质的元素对上式右边的总 的贡献为。,k + j,k + i,k + i,i,i = 0,j,i = 0,j,k + j,k + i,k + i,k,i = 0,j,k + j,i,j,k,k + j,k,j,i,k + j,k,3.6 一般公式,前例中只修一门课的学生为:| MPC | + | MPC | + | MPC | = q1= (1)j - 1 ( ) Pj = P1 2P2 + 3P3,j,1,j =1,3,在一般公式中,若
23、令 P0 = N, q0 = | A1A2An |, 就得到原来的容斥原理。,3.6 一般公式,证 根据定义qk = | ( Ai) ( Aj)| qk由Pk+j的代数和组成,符号 (1)j ,计算 Pk+j的重复度:k + j个集的交的绝对值的项 的总个数为( ) ( ) , 共 ( )种。 每一项的重复度为 ( ) ( ) ( ) = ( ) 从而Pk+j的重复度也是 ( ),I(n ,k),i I,j I,n,k,k + j,k + j,k + j,k + j,j,nk,nk,n,n,n,k,j,k,k,3.6 一般公式, qk = (1)j ( )Pk+j= (1)j k ( ) Pj
24、,k + j,k,k,j,j =0,n k,k,n,证 对N做归纳。N = 1时,设此元有m种性质,m n , 不妨设A1 =A2= =Am= a1 。显然 Pj = ( ),若 jm,则 Pj = 0; 由定义,得 qk=,j,m,1 k = m 0 k m,3.6 一般公式,右端 (1)i( )Pk+i (1)i( ) ( ) (1)i( ) ( ) = ,k+ii,i=0,nk,k+ik,mk+i,i=0,nk,mk,m - ki,i=0,nk,1 k =m 0 km,3.6 一般公式,右端 (1)i ( )Pk+i (1)i ( ) Pk+ i + ( ) (1)i ( )Pk+i +
25、 (1)i ( )( ) qk + 等式成立,k + i,k,k + i,m,k + i,m,nk,i = 0,1 k =m 0 km,3.6 一般公式,例 某校有个教师,已知教数学的有 位,教物理的有位,教化学的位; 数、理位,数、化位,理、化位; 数理化位。问教其他课的有几位?只教 一门的有几位?只好教两门的有几位? 解 令教数学的教师属于A1,教物理的属 于A2,教化学的属于A3。则P0, P1| A1 |+| A2|+| A3 |8+6+5; P2| A1A2|+ | A1A3|+| A2A3|12; P3| A1A2A3|3;,3.6 一般公式,故 教其他课的老师数为:q0P0 P1
26、 +P2P3 恰好一门的教师数:q1P12P2 + 3P34 恰好教两门的老师数为:q2P23P33,3.6 一般公式,例 n 对夫妻围坐问题 设 n 对夫妻围圈而坐,男女相间,每个男 人都不和他的妻子相邻,有多少种可能的 方案?,解 不妨设 n 个女人先围成一圈,方案数 为( n1 )! 。对任一这样的给定方案,顺 时针给每个女人以编号1 , 2 , , n。设第i 号与第 i + 1号女人之间的位置为第 i 号位 置,1 i n1。第 n 号女人与第1 号之,3.6 一般公式,间的位置为第 n 号位置。设第 i 号女人的丈 夫的编号也为第 i 号,1 i n。让 n 个男 人坐到上述编号的
27、 n 个位置上。设 ai是坐在 第 i 号位置上的男人,则ai i ,i + 1, i n1;ann,1。 这样的限制也即要求在下面3行n列的排列中, n n n 1a1 a2 a3 an1 an,3.6 一般公式,每列中都无相同元素。满足这样的限制的排 列 a1a2 an称为二重错排。 设二重错排的个数为Un,原问题所求的方案 数就是Un ( n1)!。,设Ai为 ai = I 或 I + 1 (1 I n1 ),an = n或1的排列 a1 a2 an的集合。则 Ai= 2 (n1)! ,关键是计算 |Ai|,I ( n , k),iI,3.6 一般公式,也就是从( 1 , 2 ) ( 2
28、 , 3 ) ( n, n ) ( n , 1) 这n对数的k 对中各取一数,且互不相同的 取法的计数。这相当于从1 , 2 , 2 , 3 ,3 ,4, , n1, n1, n , n , 1中取 k 个互不相邻数的组 合的计数,但首尾的不能同时取。回想无 重复不相邻组合的计数:C( n , r ) = C ( nr + 1 , r ) ,这里所求的是 ( )( )= ( ),2nk+1 k,2n4( k2)+1k2,2nkk,2n 2nk,3.6 一般公式, Un =(1)k ( )(nk)!= Ai,2n 2nk,2nkk,i 1 , n ,.11 反演,基本想法:an 易算,bn难算,
29、an可用 bn表示,利用反演,将bn用an表示,二项式反演,引理,.11 反演,证,.11 反演,定理,证,.11 反演,推论,证 在定理中bk处用(1)k bk代入,即可,例 n! = ( ) Dnk,Dn=bn, 令nk = l ,则 n! = ( ) Dl Dn = (1)n-k ( )k!= n! (1)n-k = n ,n k,n k,n k,1 (nk)!,k=0,k=0,k=0,n,n,n,(1)kk!,.11 反演, Mbus反演,定义 设 n Z+ 1,若 n = 1; ( n ) = 0,若n = p11 p22 pkk 存在i1(1)k ,若n = p1p2pk 如 (
30、30) = ( 235 ) = (1)3( 12) = 0;,.11 反演,定理 设n Z+ 则 ( d ) =,1,若n = 1;,0,若n 1;,d | n,证 若n =1, ( d ) = ( 1 ) = 1,成立 若 n1,设n = p11 p22 pkk ,n = p1p2pk( d ) = ( d ) = ( pi ) +(1)=1 + ( ) (1)j = (11)k = 0,d | n,d | n,d | n,j=1,k,iI,I(k, j),k j,j=1,k,.11 反演,推论 (n) = n ,证 n = n = n 1 + (1)j ( pi )1= n (1 ) =
31、(n),1 pi,j =1,i =1,k,k,I (k , j ),i I,.11 反演,定理 ( Mbus反演定理 )设 f ( n )和g ( n ) 是定义在正整数集合上的两个函数f ( n ) = g (d ) = g ( ) (M1 )g( n ) = (d) f ( ) = ( )f (d) (M2),n d,n d,d | n,d | n,d | n,d | n,则 ( M1 ) ( M2 ),n d,.11 反演,证 “”设 ( M1 )成立。 (d) f ( ) = (d) g ( d1 ) = (d) g ( d1 ) = (d) g( d1 ) = (d) g ( d1
32、) = g(d1 ) (d) = (d) = = g( n ),d | n,d | n,d | n,dd1 | n,d1 | n,d1 | n,n d,1,d1 = n 0,d1 n,.11 反演,“”:设(M2)成立。, g (d ) = g (d ) = ( d ) f ( d1 ) =( d ) f ( d1 ) = f ( d1 ) ( d ) = ( d ) = ( d ) = = f ( n ),d | n,d | n,d | n,d1 | n,dd1 | n,1,d1 = n 0,d1 n,.11 反演,例 圆排列问题,设 a1a2an 是一个圆排列,即 a2a3ana1 , ,
33、 ana1 an1,看作是相同的。为了加以区别, 必要时把原先的排列称为线排列。一个圆 排列在 n 个位置短开形成的 n 个线排列在 元素可重复的情况下,未必都不相同。例如,dn时,由不重复的a1a2 ad重 复 n d次构成的圆排列,.11 反演,( a1a2 ad ) ( a1a2 ad ),n d 组,只能形成 d 个不同的线排列。 若一个圆排列可由一个长度为 k 的线排列重 复若干次形成,则这样的 k 中最小者成为该 圆排列的周期。一个圆排列中元素的个数( 重复出现的按其重复次数计)称为它的长度,.11 反演,设集合1 , 2 , , m中元素形成的长度 与周期都是 d 的圆排列的个数为M(d)。设 n 是一给定的正整数。 若 d n ,每个长度与周期都是 d的圆排列 可在 d 个位置上断开,重复 n / d 次形成d个 长度为 n 的可重排列。因此有, d M( d ) = mn 由Mbus反演定理 n M(n) = ( d ) m 故 M( n ) = ( d ) m,dn,dn,dn,.11 反演,设长度为 n 的圆排列的个数为T( n ),则T( n ) M( d ),dn,例 m = 1 , 2 ,n = 7 则M ( 7 ) = ( 272 ) = 18T ( 7 ) = M( d ) = M (1 ) + M ( 7) = 20,d7,1 7,