第二类斯特林数

第二类斯特林数是将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次方


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值