HDU 1087 [Super Jumping! Jumping! Jumping!]动态规划

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1087

题目大意:有N个格子,每个格子有数值。从原点开始跳,可以跳到任何一个位置;在某一个位置,只能跳到右边数值比它大的位置;在任何位置,都能跳到终点。

原点和终点无分数。路径上的每个格子都可获得相应的分数。

关键思想:动态规划

代码如下:

//动态规划
#include <iostream>
#include <memory.h>
using namespace std;

int a[1010];
int dp[1010];
int main(){
    int N;
    while(cin>>N&&N){
        int cnt=0;
        memset(a,0,sizeof(a));
        memset(dp,0,sizeof(dp));
        a[0]=-0x4f4f;
        dp[0]=0;
        for(int k=0;k<N;k++)cin>>a[++cnt];
        int ans=0;
        for(int i=1;i<=N;i++){
            int MAXT=0;
            for(int j=0;j<i;j++){
                if(a[j]<a[i]&&dp[j]>MAXT)MAXT=dp[j];//符合要求的格子,获得最大值
            }
            dp[i]=a[i]+MAXT;
            if(dp[i]>ans)ans=dp[i];
        }
        cout<<ans<<endl;
    }
    return 0;
}

  

时间: 2024-11-04 00:59:27

HDU 1087 [Super Jumping! Jumping! Jumping!]动态规划的相关文章

[ACM] hdu 1087 Super Jumping! Jumping! Jumping! (动态规划)

Super Jumping! Jumping! Jumping! Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other) Total Submission(s) : 6   Accepted Submission(s) : 5 Font: Times New Roman | Verdana | Georgia Font Size: ← → Problem Description Nowada

[2016-03-27][HDU][1087][Super Jumping! Jumping! Jumping!]

时间:2016-03-27 15:51:40 星期日 题目编号:[2016-03-27][HDU][1087][Super Jumping! Jumping! Jumping!] 分析:dp[i]表示跳到第i个位置,能拿到的最多分,则dp[i] = max(dp[i] , dp[j] + v[i]) 能从j跳到i 遇到的问题:排序之和,a[1].v <= a[2].v 而不是 a[1].v < a[2].v 所以还是需要判断一下价值 #include <algorithm> #in

hdu 1087 Super Jumping! Jumping! Jumping!(动态规划DP)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1087 Super Jumping! Jumping! Jumping! Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 24452    Accepted Submission(s): 10786 Problem Description No

HDU 1087 Super Jumping! Jumping! Jumping! (动态规划、最大上升子序列和)

Super Jumping! Jumping! Jumping! Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 59516    Accepted Submission(s): 27708   Problem Description Nowadays, a kind of chess game called “Super Jumping

HDU 1087 Super Jumping! Jumping! Jumping! 简单DP

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1087 题目大意:N个数字组成的一条路,每个数字是一个节点顺序连接,起点在第一个数之前,终点在第N个数之后.现让你选择一条路从起点跳到终点,只能往前且跳到比当前点大的那个点,可以认为终点是最大的,可以从起点直接跳到终点但是路的值就是0了,每条路的值为所经过的数字节点的值的和,问你值最大为多少. 解题思路:决策:在当前点i往i~N哪个点跳,反过来当前点i+1可以从1~i哪个点跳过来,那么a[i+1] >

HDU 1087 Super Jumping! Jumping! Jumping! 最大递增子序列

Super Jumping! Jumping! Jumping! Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 32564    Accepted Submission(s): 14692 Problem Description Nowadays, a kind of chess game called “Super Jumping!

HDOJ/HDU 1087 Super Jumping! Jumping! Jumping!(经典DP~)

Problem Description Nowadays, a kind of chess game called "Super Jumping! Jumping! Jumping!" is very popular in HDU. Maybe you are a good boy, and know little about this game, so I introduce it to you now. The game can be played by two or more t

hdu 1087 Super Jumping! Jumping! Jumping!(dp 最长上升子序列和)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1087 ---------------------------------------------------------------------------------------------------------------------------------------------------------- 欢迎光临天资小屋:http://user.qzone.qq.com/593830943

hdu 1087 Super Jumping! Jumping! Jumping!(最大上升子序列和)

Super Jumping! Jumping! Jumping! Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 36986    Accepted Submission(s): 16885 Problem Description Nowadays, a kind of chess game called “Super Jumping!