`
wsql
  • 浏览: 11758596 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

pku 1664 放苹果 解题分析

 
阅读更多

题目地址:http://acm.pku.edu.cn/JudgeOnline/problem?id=1664

方法一、

f(i,j):前i个盘总共放j个果的方法数,结果在f(n,m)中,1个盘时不论果数多少,只有1种方法。
f(i,j)=f(i-1,j)+f(i,j-i),前者表示第i个盘为空(保证至少1个盘空)放j个果的方法数,
后者表示没有1个盘空的方法数,为保证这点,先在每个盘放1个,剩下j-i个任意放,

方法二、

f(i,j):前i个盘共放j个果的方法数,结果在f(n,m)中,1个盘时不论果数多少,只有1种方法。
f(i,j)=sum(f(i-1,j-k*i)),j-k*i>=0,
f(i-1,j-k*i)表示其中有k个盘各放i个的方法数。

DP是王道,状态表示要明确,转移方程更要考虑好,初值多少,结果在哪里都要想清楚。

其中方法二中用了整数拆分的思想,更清楚的解释请看转贴的pku 1664 放苹果 csflx 解题分析

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics