组合数学 part1

组合数学

1.1 加法原理、乘法原理

在组合数学中,加法原理和乘法原理是两条基本定理。

加法原理 如果解的集合可以划分成若干非空子集,则解可以表示为这些子集的并集。通俗来讲,就是一个问题的答案可以分成若干互不重叠的类,求出来每一类的答案,它们的和即为原问题的答案。

例1:某班有20名男生,30名女生,问该班有多少学生?

​ 答案为:20+30=50

例2:从重庆去武汉有许多交通工具可以选择。如果坐飞机,有25个航班;如果坐火车,有16个车次;如果坐轮船,有4个航班。如果只允许坐飞机、火车和轮船之一,从重庆到武汉有多少种方式?

​ 答案为:25+16+4=45

乘法原理 如果一个问题可以分为若干环节完成,完成第1个环节有a1a_1a1种方案,完成第2个环节有a2a_2a2种方案,……,完成第k个环节aka_kak种方案,则问题的方案总数为每一个环节的方案数的乘积。ans=Πi=1kaians=\Pi_{i=1}^ka_ians=Πi=1kai

例3:小明要从重庆到北京,他想先坐船到武汉,再从武汉坐高铁到北京去。已知从重庆到武汉的轮船有4班,从武汉到北京的高铁有15趟。请问他从重庆经过武汉到北京有多少种方式?

答案为: 4×15=604\times 15=604×15=60

例4: 从5位男人、6位妇女、2名男孩和4名女孩中选择一男人、一妇女、一男孩和一女孩,问有多少种方法?

答案为:5×6×2×4=240种。

例5:粉笔根据颜色分有红、黄、蓝三种,根据长度分可以分为长、中、短三类,根据直径可以分为粗、细两类,问粉笔最多有多少种分类?

分析:根据题意,确定一种粉笔需要去确定它的颜色、长度、直径三个属性,三个属性都确定了才能确定这种粉笔的分类。所以可以应用乘法原理,答案为:

3×3×2=183 \times 3\times 2=183×3×2=18

1.2 排列组合

1.2.1 排列

排列就是指从给定个数的元素中取出指定个数的元素进行排序,或者说,从总数固定的元素中有序地取出若干元素的方案数。

从n个元素中取出r个元素的排列,记作PnrP_n^rPnr,或为P(n,r).P(n,r).P(n,r).

取出r个元素,可以分成r个环节,第1个环节有n种选择,第2个环节有n-1种选择,第i个环节有n−i+1n-i+1ni+1种选择,则根据乘法原理,有:

Pnr=Πi=1r(n−i+1)P_n^r=\Pi_{i=1}^r (n-i+1)Pnr=Πi=1r(ni+1)

例1:如果只考虑小写字母,三个不同的字母可以组成多少个单词。(不考虑单词是否真实存在).

分析:小写字母有26个,从中取出3个不同字母的排列为:

P(26,3)=26∗25∗24=1560P(26,3)=26*25*24=1560P(26,3)=262524=1560

例2:例.将字母表中的26个字母排序使得元音字母a,o,e,i,u中任意两个都不得相继出现,这种排序的方法的总数是多少?
该问题的解(象许多的计数问题一样)一旦看出如何去做则可立刻得出。我们考虑两个要完成的主要任务。第一个任务是决定如何对这些辅音字母排序。计有21个辅音字母,故有辅音字母的排列数是P(21,21)P(21,21)P(21,21)。由于我们不能有两个元音字母相连地出现在最终的字母排序中,因此这些元音字母必须放在这些辅音字母之前之后之间的22个空间。我们的第二个任务是把这些元音字母放入这些位置。对于a有22个位置,对。有21个位置,有20个位置,o有19个位置,a有18个位置。就是说,第二个任务可以用:

P(22,5)=22×21×20×19×18=3160080P(22,5)=22\times 21 \times 20 \times 19 \times 18=3160080P(22,5)=22×21×20×19×18=3160080
所以,总的方案是P(21,21)×P(22,5)P(21,21) \times P(22, 5)P(21,21)×P(22,5)

例3:求有多少个没有重复数字且能够被5整除的四位奇数?

分析 因为是奇数,且要能被5整除,所以个位必须为5.

又因为千位不能为0,所以千位上有8种选择;

百位不能与个位、千位相同,所以百位也有8种选择;

十位有7种选择。

所以,答案为8×8×7=4488 \times 8 \times 7=4488×8×7=448

有重复元素的排列

如果从n个元素中取出r个元素,元素可以重复选取,问题有多少种方案?

分析:r个元素可以分为r个环节完成,每一个环节有n种选择,所以答案为:

ans=nrans=n^rans=nr

1.2.2 组合

组合从给定个数的元素中取出指定个数的元素,不考虑其顺序。

从n个元素中取出r个元素的组合,记作CnrC_n^rCnr,或为C(n,r)C(n,r)C(n,r).

只要取出的元素是相同的,不管它们如何排列,都是同一种方案。如果取出的元素是r个,则有r!r!r!种排列,其实都是同一种组合。

所以,Cnr=Pnr/r!C_n^r=P_n^r/r!Cnr=Pnr/r!

例1: 一个盒子里装了10个不同种类的球,每种球1个,问取出3个球有多少种不同的方案。不考虑顺序。

分析:因为不考虑顺序,所以它是一个组合数。

答案为:

C(10,3)=10×9×81×2×3=120C(10,3)=\frac{10\times9\times 8}{1\times2\times3}=120C(10,3)=1×2×310×9×8=120

例2:从[1,300]中取3个不同的数,使这3个数的和能被3整除,有多少种方案?

分析:将[1,300]分成3类:
​ A={i|i≡1(mod 3)}={1,4,7,…,298},
​ B={i|i≡2(mod 3)}={2,5,8,…,299},
​ C={i|i≡3(mod 3)}={3,6,9,…,300}.
​ 要满足条件,有四种解法:
​ 1).3个数同属于A;

​ 2).3个数同属于B;

​ 3).3个数同属于C;

​ 4).A,B,C各取一数.
故共有3×C(100,3)+1003=485100+1000000=14851003\times C(100,3)+100^3=485100+1000000=14851003×C(100,3)+1003=485100+1000000=1485100

鸽笼原理

这个定理的可以描述为:

如果有n+1只鸽子进入n个笼子,则必有两只鸽子在同一个笼子里。其中n>0。

它也可以称为抽屉原理,描述大同小异。

有n+1个物品放入n个抽屉,则必有两个物品在同一个抽屉里。其中n>0。

有重复元素的组合

nnn个元素中取出kkk个元素的组合,元素可以重复选取,问有多少种方案?

如n=3,r=2,有6种选择:(1,1),(1,2),(1,3),(2,2),(2,3),(3,3)
分析:设第一个元素选择x1x_1x1个,第二个元素选择x2x_2x2个,……,第n个元素选择xnx_nxn个。则有方程:x1+x2+……xn=kx_1+x_2+……x_n=kx1+x2+xn=k。问题转换为求方程的非负整数解的个数。令yi=xi+1y_i=x_i+1yi=xi+1,则答案为y1+y2+…+yn=k+ny_1+y_2+…+y_n=k+ny1+y2++yn=k+n的正整数解的个数。想想k+nk+nk+n个相同的小球拍成1列,现在要把它分成nnn个部分,则只需在其中放置n-1块隔板即可。一共有k+n−1k+n-1k+n1个位置用来放隔板,所以答案为C(n+k−1,n−1)C(n+k-1,n-1)C(n+k1,n1)

1.2.3 盒子与球常见模型

最基本的模型

n个不同的球放入m个不同的盒子中,球必须全部放完,问有多少种方案?

分析:每个球都有m种选择,所以答案为:ans=mnans=m^nans=mn

根据球是否相同、盒子是否相同,球是否必须放完,盒子是否可以为空,盒子与球的问题可以扩展出许多模型。

在学习这些模型之前,我们先来学习两种模型:集合划分模型和整数分拆模型。

集合划分

将一个n个元素的集合SSS分成m个非空子集S1,S2,…,SmS_1,S_2,\dots,S_mS1,S2,,Sm,使得这些子集没有交集,并且它们的并集等于全集,则称这m个子集是集合SSS的一个划分。

S(n,m)S(n,m)S(n,m)表示nnn个元素的集合的划分方案数,则有下列递推式:

S(n,m)=S(n−1,m−1)+m∗S(n−1,m)S(n,m)=S(n-1,m-1)+m*S(n-1,m)S(n,m)=S(n1,m1)+mS(n1,m)

S(n,m)S(n,m)S(n,m)作为特定的标记,用来表示集合划分方案数,实际上,S(n,m)S(n,m)S(n,m)即为我们后面要学习的第二类斯特林数列。

整数分拆模型

有序分拆:将整数n分成k个有序部分,这个问题可以采用隔板法解决,即在nnn个球中插入k−1k-1k1个隔板,答案为C(n−1,k−1)C(n-1,k-1)C(n1,k1)

无序分拆:设p(n,k)p(n,k)p(n,k)表示将整数nnn拆成kkk个无序部分的方案数,则有如下递推式:

p(n,k)=p(n−1,k−1)+p(n−k,k)p(n,k)=p(n-1,k-1)+p(n-k,k)p(n,k)=p(n1,k1)+p(nk,k)

p(n,k)p(n,k)p(n,k)也是作为特定标记,用来表示整数的无序分拆。此处注意ppp是小写,和排列的标记PP

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值