1 条题解
-
1
结论
将 n 个不同的球 放入 m 个相同的盒子(每个盒子至少放 1 个球)的放法数为 第二类斯特林数:
第二类斯特林数 表示将 n 个不同元素划分为 m 个非空子集的方式数。
方法解析
-
递推公式
第二类斯特林数满足以下递推关系:- :第 n 个球放入已有的 m 个盒子之一。
- :第 n 个球单独放入一个新盒子。
-
边界条件
放个代码,注意模数,时间复杂度
#include<iostream> #include<cstdio> using namespace std; long long n,m,S[1003][1003]; int main(){ scanf("%lld%lld",&n,&m); S[0][0]=1; for (int i=1;i<=n;i++){ for (int j=1;j<=m;j++){ S[i][j]=(j*S[i-1][j]%1000000007+S[i-1][j-1])%1000000007; } } printf("%lld",S[n][m]); return 0; } -
- 1
信息
- ID
- 229
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 9
- 标签
- (无)
- 递交数
- 10
- 已通过
- 7
- 上传者