POJ 1661 Help Jimmy

        这算是一个经典的动态规划题了吧,由于是中文题目,所以题目很好理解.

 

        这个题目的关键也就是找出状态转移方程,然后跟据它写出递归函数(当然也可以用迭代),我越来越意识到递归是个很神奇的东西,和分治法联系在一起的时候问题一下子就变得豁然开朗了.

 

        由于下落的时间是一定的,所以只需要求出最短的爬行时间再加上下落时间就可以了.

        大概思路就是下面的:

 

                               0,   k=N+1

FindMin(x,k) =         max{x  -  aPlatform[k].Lx  +  FindMin(  aPlatform[k].Lx  ,  NextLeft  ),

                                       aPlatform[k].Rx  -  x  +  FindMin(  aPlatform[k].Rx  ,  NextRight  )     },  0<=k<=N

 

 

 

 

 

 

 

还可以参照这个的解释,算是很详尽的了:

http://www.cppblog.com/mythit/archive/2009/06/26/88539.aspx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值