您的位置:首页 > 其它

NOIP 2001 数的划分

2015-08-31 18:45 148 查看
问题描述


将整数 nn 分成 kk 份,且每份不能为空,任意两份不能相同 (不考虑顺序)。


例如:n=7,k=3,下面三种分法被认为是相同的。

{1,1,5} , {1,5,1}, {5,1,1}


问有多少种不同的分法。


输入:n,k


输出:一个整数,即不同的分法。


样例


输入: 7 3


输出:4


四种分法为:{1,1,5},{1,2,4},{1,3,3},{2,2,3}


(6<n<=200,2<=k<=6)(6

记 f(i,j)f(i,j) 为 k=ik = i,n=jn = j ,即将 jj 分成 ii 份时的方案数。

f(1,1)=1f(1,1) = 1

f(i,j)=f(i−1,j−1)+f(i,j−i)∗[j>i]f(i,j) = f(i - 1,j - 1) + f(i,j - i)*[j > i]

分两种情况讨论:

1.划分出的最小数为 11,方案数为 f(i−1,j−1)f(i-1,j-1),即在将 j−1j - 1 分成 i−1i - 1 份的划分方案的基础上再多划分一个数 11 的方案数。

2.划分出的最小数大于 11,方案数为 f(i,j−i)f(i,j-i),即将 j−ij - i 分成 ii 份时划分出的 ii 个数都加上 11 的方案数。

真是很有意思的思路。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: