这种情况就是第二类 Stirling 数,即 \(S(n, m)\)。
其递推公式如下:
\(f_{n,m} = f_{n - 1, m -1} + m \times f_{n - 1, m}\)
递推边界:
\(f_{n,m} = 0 (n < 0)\)
\(f_{n,n} = f_{n,1} = 1\)?
这种情况,答案为 \(\sum_{i=1}^m S(n,i)\)。
这种情况直接组合数。答案等于 \(C_{n-1}^{m-1}\)????。注意 C++ 算乘的时候可能会溢出,可以在中间使用 int_128
辅助计算。
同上,但答案等于 \(C_{n+m-1}^{m-1}\)?。
答案为 \(n! \times S(n,m)\)(第二类 Stirling 数)。
答案直接就为 \(m^n\)。
原文:https://www.cnblogs.com/liuzimingc/p/ball.html