将一个问题分解为子问题递归求解,并且将中间结果保存以避免重复计算的办法,就叫做“动态规划”。动态规划通常用来求最优解,能用动态规划解决的求最优解问题,必须满足,最优解的每个局部解也都是最优的。数字三角形问题:上图给出了一个数字三角形。从三角形的顶部到底部有很多条不同的路径。对于每条路径,把路径上面的...
分类:
其他好文 时间:
2015-08-12 16:16:29
阅读次数:
97
动态规划的关键是找出一条关系表达式,然后根据该表达式循环或递归。往往需要把一些中间状态保存下来,避免重复计算。
数字三角形
有一个由正整数组成的三角形,第一行只有一个数,除了最下行之外 每个数的左下方和右下方各有一个数。
从第一行的数开始,每次可以往左下或右下走一格,直到走到三角形底端,把沿 途经过的数全部加起来作为得分。如何走,使得这个得分尽量大?如图:
...
分类:
其他好文 时间:
2015-08-12 14:42:57
阅读次数:
225
题目描述 Description如图所示的数字三角形,从顶部出发,在每一结点可以选择向左走或得向右走,一直走到底层,要求找出一条路径,使路径上的值最大。输入描述 Input Description第一行是数塔层数N(1y then exit(x) else exit(y);end;procedur....
分类:
其他好文 时间:
2015-08-06 23:58:42
阅读次数:
216
转载请注明出处 CSDN ametake版权所有
题目描述 Description
数字三角形必须经过某一个点,使之走的路程和最大
输入描述 Input Description
第1行n,表示n行
第2到n+1行为每个的权值
程序必须经过n div 2,n div 2这个点
输出描述 Output Description
...
分类:
其他好文 时间:
2015-07-28 21:11:40
阅读次数:
199
该题是《算法竞赛入门经典(第二版)》的一道例题,难度不算大。我先在没看题解的情况下自己做了一遍,虽然最终通过了,思路与书上的也一样。但比书上的代码复杂了很多,可见自己对问题的处理还是有所欠缺。 该题类似于数字三角形问题,处理的方式就是从倒数第二列逐步推到第一列, 每次选择其后一列权值最小的那条...
分类:
其他好文 时间:
2015-07-20 18:32:59
阅读次数:
151
虽然之前学过一点点,但是还是不会------现在好好跟着白书1.4节学一下——————(1)数字三角形d(i,j) = max(d(i+1,j),d(i+1,j+1)) + a[i][j]hdu 2084 1 #include 2 #include 3 #include 4 #includ...
分类:
其他好文 时间:
2015-07-19 23:33:18
阅读次数:
139
#include
int a[100][100];
int main()
{
int n;
scanf("%d",&n);
for(int i=1;i<=n;i++)
for(int j=1;j<=i;j++)
scanf("%d",&a[i][j]);
int maxx =0;
for(int i=2;i<=n;i...
分类:
其他好文 时间:
2015-07-12 12:53:05
阅读次数:
134
1. 问题描述有一个像这样的数字三角形: 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5从顶点开始,每个数字向下层走只能有左下和右下两个方向,求出到达最后一行时最大的路径之和。Input第1 行是数字三角形的行数n,1y ?...
分类:
其他好文 时间:
2015-06-24 07:03:13
阅读次数:
198
【题目链接】:click here~~
时间限制:10000ms
单点时限:1000ms
内存限制:256MB
问题描述
小Hi和小Ho在经历了螃蟹先生的任务之后被奖励了一次出国旅游的机会,于是他们来到了大洋彼岸的美国。美国人民的生活非常有意思,经常会有形形色色、奇奇怪怪的活动举办,这不,小Hi和小Ho刚刚下飞机,就赶上了当地的迷宫节活动。迷宫节里展览出来...
分类:
其他好文 时间:
2015-06-10 12:25:37
阅读次数:
624
动态规划的核心就是状态和状态转移方程。 对于该题,需要用抽象的方法思考,把当前的位置(i,j)看成一个状态,然后定义状态的指标函数d(i,j)为从格子出发时能得到的最大和(包括格子本身的值)。 在这个状态定义下,原问题的解就是d(i,j). 下面看一下不同状态之间如何转移。从格子(i,j)出发有两种...
分类:
其他好文 时间:
2015-05-14 15:50:34
阅读次数:
132