NOIP 2001 数的划分

问题描述

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

例如: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<=2002<=k<=6)


f(i,j)k=in=j ,即将 j 分成 i 份时的方案数。

f(1,1)=1

f(i,j)=f(i1,j1)+f(i,ji)[j>i]

分两种情况讨论:

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

2.划分出的最小数大于 1 ,方案数为 f(i,ji) ,即将 ji 分成 i 份时划分出的 i 个数都加上 1 的方案数。

真是很有意思的思路。。。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章