第二类斯特林数

第二类斯特林数是将n个不同的球放入m个无差别的盒子中,

并且要求盒子非空的方案数。

1.通项公式为:

 

2.递推公式:

 

证明如下:

假设要把n+1个球放入m个盒子里则分析如下:

(1)如果n个球放入了m-1个盒子,那么第n+1个球单独放入一个盒子。方案数
(2)如果n个球已经放入了m个盒子,将第n+1个球放入到任意一个盒子。方案数 m*S(n,m) 。
综合两种情况得:
 

代码如下:

LL stl2[5010][5010];
void
stl2_init() { for(int i=1;i<=5000;i++) stl2[i][i]=1; for(int i=1;i<=5000;i++) for(int j=1;j<i;j++) stl2[i][j]=(stl2[i-1][j-1]+j*stl2[i-1][j]%MOD)%MOD; }

 

3.利用公式展开m的n次方

 

posted @ 2018-03-14 12:35  hinata_hajime  阅读(410)  评论(0编辑  收藏  举报