• 关于N个小球放M个盒子解答


    转载于:http://bbs.qzzn.com/read-htm-tid-10761201.html

    图片: 
     TMD,刚才论坛好像出问题了,半天都发不出去,烦。n个球放入m个箱子里,有多少种不同的放法(不一定是球和箱子,也可能是其他的元素与其他的放置位置,例如N个人分到M个单位,每班至少一人,里面已经暗中说明球不同,单位不同) 
    看似很简单的问题其实非常复杂,球是否相同,箱是否相同?是否允许有空盒 
    不难看出一共8类情况 
    1)球同,盒同,无空箱 
    2)球同,盒同,允许空箱 
    3)球同,盒不同,无空箱 
    4)球同,盒不同,允许空箱 
    5)球不同,盒相同,无空箱 
    6)球不同,盒相同,允许空箱 
    7)球不同,盒不同,无空箱 
    6)球不同,盒不同,允许空箱 
    ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 
    先来看3,4.这个就是最典型的公考中经常遇见的插板法(关于插板法的解释我懒的说了,自己搜,论坛百度都容易找的到) 
    只是需要注意是否允许空箱 
    3的公式是把n个球排成一排,(一种方法),它们中间有n-1个空。取m-1个小棍,放到空上,就把它们分成m部分,由于小棍不相邻,所以没有空箱子。它的方法数有
    C(N-1,M-1),也就是球减1里面挑M-1个箱子做组合 
    4的公式在3的基础上升华出来的,为了避免空箱子,先在每一个箱子假装都放一个球,这样就有n+m个球,C(n+m-1,m-1),多了M个元素而已 
    ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 
    关于1,2类情况,本来我想教大家一个特殊三角形的,但画起来比较麻烦,速度还不如穷举快,所以就略了,愿意学的我还是可以教他,不会真的还不如穷举来的快。个人建议还是用最常见的凑数法,而且公考中不会出现球和盒子数字比较大的情况。 
    法,例如7个相同球放入4个相同盒子,每盒至少一个(1号情况),则先4个盒子每个放1个,多余3个。只需要考虑这3个球的去处就OK,由于盒子相同,所以只需要凑数就OK,不必考虑位置。 
    比如300,211,111只有三种 
    例如7个相同球放入4个相同盒子,可以空盒,则还是凑数,大的化小的,小的化更小的。。。。。。 
    0,0,0,7 
    0,0,1,6 
    0,0,2,5 
    0,0,3,4 
    0,1,1,5 
    0,1,2,4 
    0,1,3,3 
    0,2,2,3 
    1,1,1,4 
    1,1,2,3 
    1,2,2,2 
    11种 
    1,2,3,4公考常见类型,必须学会!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 
    -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 
    1234都是球相同的情况。但如果球不同怎么办??? 
    先来分析最特殊的8号:N球不同,M箱不同,允许空。每个球都有M种选择,N个球就有M的N次方分法。 
    关于5,6,7这情况,我先教大家一个非常特殊的三角形,这个你在狗哥百度非常难以找的到的,秘传型,一般人我不会告诉他的。我画了个图,如果看不到的话直接看这个地址 
    http://tu.1pian.com/upload/1245501262x1996894379.jpg 
    看起来很复杂,其实很简单 
    第一左右两边都是1,第几行就有几个数,比如第5行就是1XXX1 
    第2 S(n,k)=S(n-1,k-1)+k*S(n-1,k),含义是第N排的第K个数等于他上一排的上一个位置数字加上一排的同样位置数字的K倍 
    例如S(7,3)就是第7排第3个数字,所以他等于上排第6排第2个数字+第6排第3个位置*3 
    所以画图的话,明显第1排是1,第2排1,1,推理第3排(左右两边都是1,只有中间那个数字没确定) 
    所以S(3,2)=第2排第1个数字+第2排第2个数字两倍=1+1*2=3,所以第3排数字就是1,3,1.同理S(4,2)=S(3,1)+2*S(3,2)=1+2*3=7, 
    S(4,3)=S(3,2)+3*S(3,3)=3+3*1=6......如此类推三角形 
    -----------------------------------------------------------------------------------------
     
    当遇见类型5即:N不同球,M同箱子,无空箱。一共有S(N,M)种分法,比如7个不同球,4个相同箱子,每个箱子至少一个,则看三角形的第7行,第4个数字多少。 
    而类型6,N不同球,M同箱,允许空的时候(在类型5的基础上允许空箱)。明显是N个球不变,一个空箱子都没有+有一个空箱子+有两个空箱子+有三个空箱子+,,,,,,都装在一个箱子。说的简单点一共有就是 
    S(N,1)+S(N,2)+S(N,3)+..........S(N,M)=也就是说第N排开始第1个数字一直加到第M个数字就是总的分法 
    ---------------------------------------------------------------------------------------- 
    而类型7同样是在类型5的基础上升华,因为5是箱同的,而7箱不同,所以箱子自身多了P(M,M)=M!倍可能 
    所以类型7的公式就是M!乘以S(N,M) 
    ------------------------------------------------------------------------------------------- 
    综上所述,所有8种类型都有一定的解法了 
    大家可以到云淡的帖子http://bbs.qzzn.com/read-htm-tid-9919765.html,练习一下,看看他的其中,5,6,7类型种情况是不是比我的办法慢很多。 
                                 
    例如8个不同的球放进3个相同的盒子里,有几种方法 
    球不同,箱同,可以空,则就是S(N,1)+S(N,2)+S(N,3)+..........S(N,M) 
    看三角形就知道第8行前3个数字的和1      127    966=1094, 

    8个不同的球放进3个相同的盒子里,每盒至少一个,有几种方法 
    球不同箱同,非空,公式S(N,M)即第8行第3个966 
    8个不同的球放进3个不同的盒子里,每盒至少一个,有几种方法 
    球不同,盒不同,非空,公式M!*S(N,M)=3!*S(8,3)=6*966=5796 


  • 相关阅读:
    [转]经典SQL语句大全
    listview分页
    verticalalign属性和用法
    在后台.cs页面往前台插入html代码的方法
    前台js改变Session的值(用ajax)
    2012.10笔记
    添加收藏夹(兼容部分)
    使textbox无法手动修改,但可以代码修改
    题目审批表
    任务书
  • 原文地址:https://www.cnblogs.com/jian1573/p/2180433.html
Copyright © 2020-2023  润新知