转载:https://blog.csdn.net/u012720552/article/details/80961684
1.球同,盒不同,无空箱
C(n-1,m-1), n>=m
0 n< m
2.球同,盒不同,允许空箱
C(n+m-1,m-1)
3.球不同,盒相同,无空箱
第二类斯特林数dp[n][m]
dp[n][m]=m*dp[n-1][m]+dp[n-1][m-1],1<=m < n
dp[k][k]=1,k>=0
dp[k][0]=0,k>=1
0,n < m
4.球不同,盒相同,允许空箱
sigma dp[n][i],0<=i<=m,dp[n][m]为情况3的第二类斯特林数
这种情况就是在第3种情况的前提下,去枚举使用的箱子的个数
5.球不同,盒不同,无空箱
dp[n][m]*fact[m],dp[n][m]为情况3的第二类斯特林数,fact[m]为m的阶乘
6.球不同,盒不同,允许空箱
power(m,n)
7.球同,盒同,允许空箱
dp[n][m]=dp[n][m-1]+dp[n-m][m], n>=m
dp[n][m]=dp[n][m-1], n < m
边界dp[k][1]=1,dp[1][k]=1,dp[0][k]=1
8.球同,盒同,无空箱
dp[n-m][m],dp同第7种情况,n>=m
0, n< m