动态规划3_数塔问题

本文介绍了动态规划的经典问题——数塔问题,解析了题意和样例,阐述了三种不同的解题思路:从倒数第二层开始选取最大值、从第二层开始向下走以及记忆化搜索。并通过状态转移方程展示了如何实现这些策略。同时,给出了类似问题——免费的烧饼,分析了其解题方法并提供了状态转移方程。
摘要由CSDN通过智能技术生成

通过动态规划2大概知道动态规划如何去分析、思考问题。

这小节主要是去理解动态规划里经典的问题--数塔问题。


题目链接:HDU2084


题意:

从最高点走到最下面一层,每次可以走到相邻的节点,每一步经过一个数字,将其累加,求最大的累加值是多少。


样例:

7

3 8

8 1 0

2 7 4 4

4 5 2 6 5


(1)

思路:从倒数第2层开始,选取下一层并且与其邻接的节点中的最大值,将下一层并且与其邻接的节点中的最大值加上当前的值之和替换当前的值。

表示最优解的走法如果经过当前的位置时,将会选择下一层并且与其邻接的节点中的最大值。使得最终的值最大。

例如样例中第4行第1个是2.与2邻接的有第5行的第一个值4和第二个值5.所以会选择5.将5+2=7替换2.代表如果最优解的走法经过第四行第一个2时,

将会走向下一层的5.使得最终最大。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值