排列组合之插板法

【算法解析】
插板法的模型:m个相同的元素,分给n个不同的空间里,每个空间至少1个,有多少种方法?

“O”表示元素,“|”表示隔板,“-”表示间隔,如果我要把10个元素分成3份。
只需在10-1=9个间隔中挑选2个插入进去就可以隔开成3份。
   O -O  | O -O -O -O -O  | O -O -O
   O -O -O  | O -O -O -O -O  | O -O
不同的插入方式包含了排序,如第二组和第三组形成的分配为2-5-3和3-5-2。

插板法模型的可直接运用所需的条件有三个:
(1)被分配元素相同,
(2)用来承载元素的空间(例如盒子,分组,分成堆)不同,
(3)每一个空间至少有1个元素。

只有完全满足上述三种条件,方可直接使用插板法。

在考试中我们通常会碰到插板法的变型题,变型题通常是和我们的三个条件有些出入的,具体的就是跟“至少分得1个元素”这个条件不满足,具体有2种情况:
每组分得元素至少n个的情况。  
每组分得元素不做要求的情况。

对于这样两种情况,我们均是采取“还原”思路。想办法让这个条件变成“至少分得1个”。如至少不小于3个如何转化为至少1个呢?相当于我先给它2个,这样就变成满足至少1个的条件了;如没有至少分得1个的条件,相当于至少分得0个。我们要让它满足至少1个,则反过来让它们先提供1个给我们。这样就变成了至少需要1个的状态了。

【实例分析】
插板法例题1:10个相同的苹果分给4个小朋友,每个小朋友至少分1个,则有几种分法? 
解析:这个题目就是典型的插板法模型题,题目满足三个条件,所以可直接用插板法,10个苹果9个间隔,可任意选择3个间隔插入挡板分隔成4份。C(9,3)=84

插板法例题2:某单位订阅了30份学习材料发放给3个部门,每个部门至少发放9份材料。问一共有多少种不同的发放方法?
解析:此题不满足“插板法”的条件是至少9份。而不是至少1份。采取“还原”思路,先给这几个部门都先发放8个,则剩30-8×3=6份。这时候每个部门就至少还需1份了。对剩下的6份分给3个部门运用插板法,即6份学习材料5个间隔,可任意选择2个间隔插入挡板分隔成3份。即C(5,2)=10

插板法例题3:12个相同的苹果装到编号为1,2,3 的三个不同盒子里面,则有多少种装法? 
解析:此题不满足的条件是缺少至少1个。也当于是至少0个。根据我们上述的分析,采取“还原”思路,先给三个盒子各提供1个给总数,这样使得三个盒子就满足至少1个苹果的要求了。因此总数就变为12+3=15个。对15个的苹果运用插板法,即15个苹果14个间隔,可任意选择2个间隔插入挡板分隔成3份,C(14,2)=91

【参考文献】
https://wenku.baidu.com/view/d0a0fcdc7f1922791688e8c4.html

你可能感兴趣的:(信息学竞赛,插板法,排列,组合)