第二类斯特林数S(n,m)表示的是把 n 个不同的小球放在 m 个相同的盒子里方案数。
递推式子如下、初始化 S[0][0] = 1
S(n,m) = S(n−1,m−1) + mS(n−1,m)
const LL mod = 1e9 + 7; LL S[maxn][maxn]; inline void init() { S[0][0] = 1; for(int i=1; i<maxn; i++){ for(int j=1; j<=i; j++){ S[i][j] = ( S[i-1][j-1] + (LL)j * S[i-1][j] % mod ) % mod; } } }
给出几个链接