hdu1087Super Jumping! Jumping! Jumping!

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

 1 #include<cstdio>
 2 #include<cstring>
 3 #include<algorithm>
 4 using namespace std;
 5 const int maxn=1010;
 6 int dp[maxn],p[maxn];
 7 int n;
 8
 9 int main()
10 {
11     p[0]=-0x3f3f3f3f;
12     while(scanf("%d",&n)&&n)
13     {
14         int ans=-0x3f3f3f3f;
15         memset(dp,0,sizeof(dp));
16         for(int i=1;i<=n;i++)
17         {
18             scanf("%d",&p[i]);
19             dp[i]=p[i];
20             for(int j=0;j<i;j++)
21                 if(p[j]<p[i])
22                 {
23                     dp[i]=max(dp[i],dp[j]+p[i]);
24                     ans=max(ans,dp[i]);
25                 }
26         }
27         printf("%d\n",ans);
28
29     }
30 }
时间: 2024-12-23 14:15:16

hdu1087Super Jumping! Jumping! Jumping!的相关文章

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!:最简单的一道入门题

求递增子序列的最大和 状态转移方程:table[i] = max(table[i]+value[j]) 前提value[i]>value[j], 构成递增] 其中j from 0 to i-1  table[i]是前i个中的最优状态, value[j] 是 j 的价值 #include<iostream> using namespace std; #define Size 1000 int main() { int N; int value[Size+1]; int table[Size

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

【dp专题】E - Super Jumping! Jumping! Jumping!

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

解题报告 HDU1087 Super Jumping! Jumping! Jumping!

Super Jumping! Jumping! Jumping! Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Problem Description Nowadays, a kind of chess game called “Super Jumping! Jumping! Jumping!” is very popular in HDU. Maybe you are a

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