PKU 1000 A+B 详细脑残题解~~~

 昨天说了今天去刷下PKU 1000,还真去刷了下,还挺顺利的,居然1Y。表示鼓掌。

        详细的研究了下题目后,我们可以发现。0<=a,b<=10。a和b如此之小,以至于我倒一时楞了不懂该何从下手。经过再三的思考,我准备用比较的妥当并具有稳定时空复杂度的算法。对,就是动态规划。

        确定了用动态规划来解了,那接下去就是要确定动规方程了。恩,优美的动规方程就要出现了。

        我们假设DP[i][j](0<=i,j<=10)的值就是i和j的和。同时我们可以很轻松的推出一个规律i+j=i+(j-1)+1;着说明了什么?没错,就是DP[i][j]=DP[i][j-1]+1;其实写成DP[i][j]=DP[i-1][j]+1也没关系。都一样的,因为此处的DP影响因素i和j是轮换的。但在这题,如果j==0则必须要用后一个方程。知道了动规方程,在考虑下边角情况,那么此题就没多大问题了。

        完整的动规方程:

        DP[i][j] = 0;                 (i==0 && j==0)

        DP[i][j] = DP[i-1][j]+1; (j==0)

        DP[i][j] = DP[i][j-1]+1; (j!=0)

        至此,我们完美的解决了这道算做动态规划的入门题目了。

        至于源代码的实现,大家可以去刷下PKU 1000去了,照着这个思路,大家可以尝试下喽。我就不贴代码了,很简单的啦。大家应该都懂吧。

        大家或许可以从这篇文章中体验到动态规划的优美内涵了吧。

 

 

 

 

        P.S.:建议把本文章看完的人立马联系最近的医院看有没有脑残科去挂号,此病不能耽搁的,要小心!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值