盒子与球
刚刚做了sdnu里的一道题关于盒子与球的,果然想得好复杂,然而一搜hhh,递推,想不到,哭········然后顺便学习一下盒子与球问题吧,但是其他的没有实践操作,谁知道会怎样呢hhhhh
1.n个不同小球放m个不同的盒子里,无空盒(递推)
(先忽略盒子的不同)用f[n][m]表示n个小球放在m个盒子里的方案数,那么第n个放在第m个盒里分两种情况
1.第m空 则放在这里
2.第m不空 那么就随意放了
进行递推
公式如下
f[n][m]=f[n-1][m-1]+f[n-1][m]*m
然后最后记得加上盒子的不同即 乘A(m,m)
2.n个不同小球放在m个不同的盒子里,可有空盒
应该记住这个结论就行吧嘤嘤嘤
3.n个不同的球放在m个相同的盒子,无空盒
参考上面第一个情况即忽略盒子的不同,即不乘A(m,m)
4.n个不同的球放在m个相同的盒子,可有空盒
分情况讨论
n个不同的球全放在1个盒子中
+
n个不同的球放在2个盒子中
+
······
+
n个不同的球放在m个盒子中
这几个分别用第一个的那个递推来做在求和就ok
5.n个相同的球放在m个不同的盒子,无空盒
emmm因为球相同,对球进行插板,即插入m-1个板分成m堆,
即C(n-1,m-1)
6.n个相同的球放在m个不同的盒子中,可有空盒
还是隔板法,先给每个盒子一个球,那么就可以转变为n+m个球放入m盒中无空盒
即 C(n+m+1,m-1)
7.n个相同的球放在m个相同的盒子中,无空盒
f[n][m] 表示为n个小球放在m个盒子中的方案数
因为无空盒那么等于每个盒先放一个然后对剩下的进行放
进行递推
f[n][m]=f[n-m][m]+f[n-1][m-1];
8.n个相同的球放在m个相同的盒子中,可有空盒
和6一样
先转换
先各放一个小球然后转换为无空盒的
递推式如下
f[n+m][m]= f[n][m]+ f[n+m-1][m-1];
终于写完了,哭哇哇哇,如果有不对的地方希望师哥们教教我吧