设为首页 加入收藏

TOP

hiho一下第五周 数字三角形
2015-07-20 17:59:57 来源: 作者: 【 】 浏览:1
Tags:hiho 第五 数字三角形

题目1:数字三角形

?

【题目解读】

最基础的动态规划,提示中对于可以使用动态规划的基本条件说明,感觉非常好:

(1)无后效性:“无论我是通过怎么样的方式到达第i层第j个房间的,我之前做出的选择不会对我之后的选择做出限制与优待。就像如果我规定至少要向右走3次,那么状态就不仅仅是(i, j, k)这样,还要加上一个已经向右走的次数,那么你觉得还能就直接像我们之前的方法进行计算么?如果到达第i层第j个房间的路上向右走过3次了,那么之后的走法就没有任何限制,不然就仍会有一个至少要向右走一定次数的限制。”

(2)重复子问题:“我们将从起点出发到走出迷宫的最优路分解成了两个子问题,其一是从第2层的第1个房间走出迷宫的最优路,其二是从第2层的第2个房间走出迷宫的最优路,只要能算出这两个部分的最优值,我就可以知道从起点出发到走出迷宫的最优路。”小Hi道:”而按照这样的方法,这两个子问题都有一个相同的子问题——从第3层的第2个房间出发走出迷宫的最优路。””

【编写细节】

DP最难的是边界处理部分,一般都是

(1)best[0][0] 单独处理,n=1 时单独处理;

(2)本题中,三角形最左侧一列、最右侧一斜列,需要单独处理。

【AC代码】

?

#include
  
   
#include
   
     #include
    
      int reward[101][101]; long best[101][101]; long max(long a, long b) { if(a>b) return a; else return b; } int main() { int n; scanf(%d, &n); memset(reward, 0, sizeof(reward)); memset(best, 0, sizeof(best)); for(int i=0; i
     
      

?

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇HDU--4901--The Romantic Hero 下一篇hdu3440 House Man

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: