重复组合
从n个种同的元素中,每次取出r个可以重复的元素并成一组,叫做从n个不同的元素每次取出r个元素的允许重复的组合,即重复组合,其组合总数记作。 (一共有5种水果,买8个,H(8, 5))
理解1:
的非负整数解的个数。Xi的值表示第i个数取了几次。
隔板法:C(n+r-1, n-1)= C(n+r-1,r)
理解2:设有n个不同的元素,设从这n个不同的元素取出r个元素的重复组合(1)为
。
我们再构造一个组合(2):
显然这种对应是一一对应。在这个对应中,虽然组合(1)中的元素有可能相同,但是组合(2)中的元素却都不相同,这样,组合(2)就是一个没有重复元素的组合。
鸽巢的原理
鸽巢原理:如果k+1个或更多的物体放入k个盒子,那么至少有一个盒子包含了2个或更多的物体。
广义鸽巢原理:如果n个物体放入k个盒子,那么至少有一个盒子包含了至少n/k(向上取整)个物体。
例:为保证一个州2500万个电话有不同的电话号码,所需地区代码的最小数是多少(假定电话号码NXX-NXX-XXXX,N取值为2~8,X取0~9)(前三位为地区代码)
解:求所需地区代码的最小数,我们考虑后七位,N有8种取值可能,一个有8*10^6种电话号码,那么最小数就是(2500*10000/(8*10^6))取上限,即为4,故至少需要4个地区代码。
把物体放入盒子问题
①不可辨别的物体与可辨别的盒子
例:10个相同的小球放入8个不同的桶中,有多少种方法?
解1:转化为18个球放入8个桶中,每个桶至少1个球。利用隔板法可以解决问题:C(17,7)
解2:理解为从具有8个元素的集合种取出组合10的方法数:C(8+10-1,10) = C(17,10)
②可辨别的物体与不可辨别的盒子 【二类斯特林数】
例:4个人安排到3个不可辨别的办公室,有多少种方法?
解:分3种情况讨论:
仅一个办公室有人:1
两个办公室有人:C(4,1)+C(4,2)/2
三个办公室有人:C(4,2)
①不可辨别的物体与不可辨别的盒子 【划分数】
生成排列算法
生成组合算法
接触过很多,即用二进制模拟生成子集。暴力的常用做法。