将n个不同的球放到m个相同的袋子里有多少种方案?

将n个不同的球放到m个相同的袋子里有多少种方案?

 

对10^9+7取模。

 

n,m<=1000。

 

### 怎么来递推呢?

 

用f[i][j]表示将i个不同的球放到j个相同的袋子,并保证每个袋子里都有球的方案数。

考虑第i个球是不是单独放的。

 

f[i][j]=f[i-1][j-1]+f[i-1][j]*j。//一个单独放,一起放就乘j因为有j个袋子

 

答案是f[n][0]+f[n][1]+…+f[n][m]。

 

时间复杂度O(nm)

posted @ 2019-07-25 06:56  探险家_H  阅读(789)  评论(0编辑  收藏  举报