动态规划的一个例子
2017-10-19 09:41
253 查看
原文链接:http://blog.csdn.net/baidu_28312631/article/details/47418773
首先,我们看一下这道题(此题目来源于北大POJ):
数字三角形(POJ1163)
在上面的数字三角形中寻找一条从顶部到底边的路径,使得路径上所经过的数字之和最大。路径上的每一步都只能往左下或 右下走。只需要求出这个最大和即可,不必给出具体路径。 三角形的行数大于1小于等于100,数字为 0 - 99
我们首先需要计算的是最后一行,因此可以把最后一行直接写出,如下图:
现在开始分析倒数第二行的每一个数,现分析数字2,2可以和最后一行4相加,也可以和最后一行的5相加,但是很显然和5相加要更大一点,结果为7,我们此时就可以将7保存起来,然后分析数字7,7可以和最后一行的5相加,也可以和最后一行的2相加,很显然和5相加更大,结果为12,因此我们将12保存起来。以此类推。。我们可以得到下面这张图:
然后按同样的道理分析倒数第三行和倒数第四行,最后分析第一行,我们可以依次得到如下结果:
4000
首先,我们看一下这道题(此题目来源于北大POJ):
数字三角形(POJ1163)
在上面的数字三角形中寻找一条从顶部到底边的路径,使得路径上所经过的数字之和最大。路径上的每一步都只能往左下或 右下走。只需要求出这个最大和即可,不必给出具体路径。 三角形的行数大于1小于等于100,数字为 0 - 99
我们首先需要计算的是最后一行,因此可以把最后一行直接写出,如下图:
现在开始分析倒数第二行的每一个数,现分析数字2,2可以和最后一行4相加,也可以和最后一行的5相加,但是很显然和5相加要更大一点,结果为7,我们此时就可以将7保存起来,然后分析数字7,7可以和最后一行的5相加,也可以和最后一行的2相加,很显然和5相加更大,结果为12,因此我们将12保存起来。以此类推。。我们可以得到下面这张图:
然后按同样的道理分析倒数第三行和倒数第四行,最后分析第一行,我们可以依次得到如下结果:
4000
相关文章推荐
- 一个动态规划例子----n节点的连通图的个数有多少个?
- 以一个非常弱智的例子来理解动态规划思想
- binbinyang---GreenDao 3.0配置以及简单一个例子,完成增删改查,有动态图
- vs2005中动态i链接库DLL的一个简单例子
- 动态规划 和 背包问题的一个讲座
- 动态规划--计划一个公司聚会
- 很特别的一个动态规划入门教程
- 一个动态菜单的例子(downmoon)
- 很特别的一个动态规划入门教程
- DataGrid动态添加模板列的一个例子
- C++处理一个动态规划的问题
- 简单记录N个动态规划的例子
- 学习笔记:多个静态库连接成一个动态库例子
- 动态规划-------一个简单爬梯子问题
- 100道动态规划——22 POJ 1661 帮助 Jimmy 记忆化搜索 状态定义 以及一个思维上的漏洞
- 动态规划的一个简单实例java
- 一个动态菜单的例子(downmoon)
- 很特别的一个动态规划入门教程
- EXTJS动态树,非常完整的一个例子
- 动态规划求一个数列的最长不下降子序列java版