您的位置:首页 > 其它

组合数学之二 —— 容斥原理及应用

2017-12-20 15:48 399 查看
这会是一个大型连载blog

内容主要来自《组合数学》+博主的思考

容斥原理

之前在“组合数学一”中提到过容斥原理

我们在这里直接给出推论:

设Ai表示在集合S中拥有特征Pi的元素子集,则集合S中至少具有性质P1,P2,P3,…,Pm之一的对象个数由下式表示:



在这一节中,有一个经典问题

∞ 例一

确定多重集合T={ 3*a,4*b,5*c }的10组合的数目

这道题我们要充分利用容斥原理:

设 T*={ ∞*a,∞*b,∞*c }

P1=T*的10组合中a出现多于3次

P2=T*的10组合中b出现多于4次

P3=T*的10组合中c出现多于5次

Ai表示拥有Pi性质的10组合的数目,S是T*的10组合数



我们看一下每种集合的求法:

首先S的求法很简单(十个位置,三种元素),经典的隔板法:



我们重点是在Ai的求法,我们以A1为例(其余的都是同理):

A1表示“T*的10组合中a出现多于3次”的组合数,那我们就可以确定这10个数中一定至少有4个a

所以原问题就变成了:有6个位置,3种元素,每个元素不限制出现次数,由此形成的组合数



那么剩下的所有集合大小都可以如上求出:



注:这个问题也可以用生成函数解决,本文中就不再冗述了

∞ 例二

满足:1<=X1<=5,-2<=X2<=4,0<=X3<=5,3<=X4<=9

的方程 (X1+X2+X3+X4=18) 的正整数解有多少?

我们引入一些新变量:

Y1=X1-1,Y2=X2+2,Y3=X3,Y4=X4-3

Y1+Y2+Y3+Y4=16 ①

则,关于Xi的方程有解当且仅当:

0<=Y1<=4,0<=Y2<=6,0<=Y3<=5,0<=Y4<=6

设S是①所有的非负整数解

P1是Y1>=5的性质,P2是Y2>=7的性质,P3是Y3>=6的性质,P4是Y4>=7的性质

Ai是具备Pi性质的方程解





错位排序

我们先来一个情境引入:

话说七仙女又到凡间泡澡了。。。

突然,天降大雨(估计是王母娘娘不高兴了)七仙女都急忙上岸,随便抓起一套衣服就穿上了

那么七个人全部穿错衣服有多少种情况呢?

(mdzz的例子。。。)

这个就是错位排列

我们直接给出式子:



现在我们提出一个结论:



实际上,Dn是最接近n!*e^-1的整数

考虑随机选出{ 1,2,…,n }的一个排列的实验,时间E是没有整数在其自然位置上排列,即选出的这个排列是一个错位排序,因此|E|=Dn,且E的概率为:



这样在本节一开始的“七仙女的故事中”,概率就为D7/7!

从效果上看,概率就是e^-1

即使是有一万个仙女,最后的答案也是e^-1

下面我们就讨论一些Dn满足的其他便于其求值的关系

结论一


其中n>=3

初始值:D1=0,D2=1

结论二


其中n>=2

以上两个小结论类似于阶乘的公式



我们还是看一下例题:

∞ 例三

再一次聚会上,有n位男士和n位女士在跳舞前存放了ta们的帽子,在聚会结束的时候随机返还给ta们这些帽子

如果每位男士得到的都是一顶男帽,女士得到的都是一顶女帽,但又都不是他们的,有多少方法呢?

如果没有限制,那么方法数就是(2n)!

如果加上男士得到男帽,女士得到女帽,那么就有(n!*n!)种方法

如果再加上没有人得到ta们自己的帽子,则有(Dn*Dn)种方法

这n位女士
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: