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=i n=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 <script type="math/tex" id="MathJax-Element-63">1</script> 的方案数。

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


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值