题目描述:
有n个无区别的物品,将他们分成不超过m组,求划分方法个数。
解题思路:
用f[i][j]记录j的i划分个数。考察n的m划分的每个元素ai,然后将ai减1,得到{ai-1},对应的就是n-m的m划分。之后在考虑n的m-1划分,加上一个元素0,就构成了n的m划分。
所以有地推公式:f[i][j]=f[i][j-i]+f[i-1][j]。
时间复杂度O(nm)。
最开始不会做,照着挑战程序设计竞赛书上写的,后来想想还是有点不太明白,不明白为什么只有那两种情况,代码就不附了。思路是书上给的……还算能理解,不过说的不太清楚。