多重集合的排列与组合

网友投稿 1008 2022-10-22

多重集合的排列与组合

多重集合的排列与组合

《Introductory Combinatorics Fifth Edition》学习笔记:

多重集合的排列:

设S是有k种不同类型对象的多重集合,每个元素都有无限的重复数。那么s的r排列数目是k^r.

例子:最多有4位的3进制数(3元数)的个数是多少?

分析:3^4=81。

设s是多重集合,有k种类型的对象,且每种类型的有限重复数是n1,n2,……,nk。s的大小是n=n1+n2+n3+……+nk。那么s的排列数目等于:result=n!/(n1!*n2!*……*nk!)

例子:词MISSISSIPPI中字母的排列数是?

分析:词含有的字母总个数是11,M:1,I:4,S:4,P:2。所以result=11!/(1*4!*4!*2!).

设n是正整数,并设n1,n2,……,nk是正整数且n=n1+n2+……+nk。把所有的对象划分成k个标有不同标签的盒子,且盒子们分别对应n1,n2,……,nk。那么划分的总方案数是: n!/(n1!*n2!*……nk!)。假如这些标签都是相同的或者说没有标签,并且n1=n2=……=nk,那么总数是n!/[k!*n1*n2*……*nk!].

例子:3种类型9个对象的多重集合s={3*a,2*b,4*c}。求s中8排列的个数?

分析:要排列的数目和对象的总个数不相同。分成3种情况讨论,s1={2a,2b,4c},s1=8!/(2!*2!*4!)=420; s2={3a,b,4c},s2=8!/(3!*1*4!)=280; s3={3a,2b,3c},s3=8!/(3!*2!*3!)=560. result=s1+s2+s3.

多重集合的组合:

通过一个例子来初步认识:设s={2a,1b,3c},那么s的3组合是:{2a,b},{2a,c},{a,b,c},{b,2c},{a,2c},{3c}。

设S是有k种类型对象的多重集合,每种元素均有无限的重复数。那么S的r组合的个数等于:C(r+k-1,r).

证明:S任何r组合一定呈现{x1*a1,x2*a2,……,xk*ak}的组合形式。x1+x2+……+xk=r.先将x系列数字分割成k部分,这样有了r+k-1个元素(要插入k-1个隔板,可以看做值为0的元素),用这些元素组成的一个r排列就是解。那么这样的排列个数是(r+k-1)!/(k-1)!/r!(除以同类型值的排列),即C(r+k-1,r)。

问题:一家面包店有8种炸面包圈。如果一盒内装有一打(12个)炸面包圈,那么能够装配多少类型的面包圈盒?

分析:和上面的知识点一样,12个x分成8份,然后选出12排列。result=C(12+8-1,12)。

问题:继续上面的问题,如果8种面包圈每一种都需要至少一个,那么结果的面包盒有多少个?

分析:变量代换x'=x-1,则8个x'的和是8x-8=12-8=4,result=C(4+8-1,4)。

组合问题中的每种类型的对象出现次数的下界可以通过变量代换来解决。

问题:x1+x2+x3+x4=20的整数解的个数是多少?其中x1>=3,x2>=1,x3>=0,x4>=5.

分析:y1=x1-3,y2=x2-1,y3=x3,y4=x4-5. y1+y2+y3+y4=20-9=11.result=C(11+4-1,11)=364.

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:GtkD- GTK3 面向对象封装框架
下一篇:swPromise- PHP纯异步非阻塞框架
相关文章

 发表评论

暂时没有评论,来抢沙发吧~