关闭
当前搜索:

hdoj1087 Super Jumping! Jumping! Jumping!(DP)

题意:  并不是从start一步一步地走、一直走到end然后取最大值这么简单,而是在某一点上可以一次性走N步到达另一个店,比如这里“1”可以直接走到“2”(不过一定是从左到右,不能回头),不过这样的结果只是3了,不是最大值。所以,这是一个DP问题。状态转移方程先写出来,等下再分析:// origin[]为原数组,dp[]是在origin[]上进行动态规划的数组 // dp[i]表示“走到下标为i的这...
阅读(190) 评论(0)

hdoj1176 免费馅饼(DP)

题解:  动态规划,这一题实质上跟2084(数塔)那题是一样的,因为这一题可以转化成数塔问题,“馅饼掉下来的时刻”就是“塔的深度”,也就是dp数组的第1维;而第2维是一样的,都是表示位置。考虑题意给出的输入:   Sample Input   6   5 1   4 1   6 1   7 2   7 2   8 3   0   那么我们可以构造出一个数塔:   第0层:     0...
阅读(238) 评论(0)

hdoj2084 数塔

题解:DP的经典题目之一,从塔的最底层一直往上走,到达顶部后途中累加的和最大的就是所要求的值。在这里,可以设置二维数组dp[i][j],表示“走到第i层、第j个元素时可以获得的最大值”。这里有两个关键的地方: 考虑的对象是“走到了某个位置”,而不是“从某个位置开始走”。这也是DP比如背包问题里面的一个重要思想。这样的话,状态转移方程就是: dp[i][j] += max(dp[i+1][j], dp...
阅读(192) 评论(0)
    个人资料
    • 访问:32010次
    • 积分:574
    • 等级:
    • 排名:千里之外
    • 原创:24篇
    • 转载:0篇
    • 译文:0篇
    • 评论:6条
    最新评论