Super Jumping! Jumping! Jumping! hdu

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 #include <algorithm>
 4 using namespace std;
 5 int n;
 6 int dp[1005],val[1005];
 7
 8 int main()
 9 {
10     while( scanf("%d",&n) && n ){
11         for( int i=1 ; i<=n ; i++ )
12             scanf("%d",&val[i]);
13         int Max;
14         Max = dp[1] = val[1];
15         for( int i=1 ; i<=n ; i++ ){
16             dp[i] = val[i];
17             for( int j=1 ; j<i ; j++ ){
18                 if( val[i] > val[j] && dp[i] < dp[j]+val[i] )
19                     dp[i] = dp[j] + val[i];
20             }
21             if( dp[i] > Max )
22                 Max = dp[i];
23         }
24         printf("%d\n",Max);
25     }
26     return 0;
27 }
时间: 2024-10-14 22:30:55

Super Jumping! Jumping! Jumping! hdu的相关文章

A-Super Jumping!Jumping! Jumping!

最开始题目都读不懂,懂了以后不会做,应该还是没有深入思考,这道题是上升序列,不要求连续,然后算出最大上身序列的和,= =可能直接求出会比较麻烦,所以我们可以比较变计算,这样就使用到了动态规划了. #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; int a[1005],dp[1005]; const int inf=99

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): 36986    Accepted Submission(s): 16885 Problem Description Nowadays, a kind of chess game called “Super Jumping!

hdu 1087 Super Jumping! Jumping! Jumping! 简单的dp

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

[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)

C - Super Jumping! Jumping! Jumping! Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Description Nowadays, a kind of chess game called “Super Jumping! Jumping! Jumping!” is very popular in HDU. Maybe you are a good boy, a

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): 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

Super Jumping! Jumping! Jumping! HDU - 1087

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 than two players. It