第二类斯特林数

s(m,n)表示把m个有区别的球放到n个相同的盒子中,且无一空盒,其不同的方案数。

s(m,n)=ns(m-1,n)+s(m-1,n-1)     (m>=n)

s(m,n)=0   (m<n)

s(0,0)=1;

long long data[N][N];
void stirling(int m, int n)
{
        int min, i, j;
	memset(data,0,sizeof(data));
        data[0][0] = 1; 
	
        for( i = 1; i <= m; ++i ){
             if( i < n ) min = i;
             else min = n;
             for( j = 1; j <= min; ++j ){
                  data[i][j] = ((long long)j*data[i-1][j] + data[i-1][j-1])% mod;
             }
        }
}


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值