hdu1087

原创 2016年06月02日 01:06:42

Super Jumping! Jumping! Jumping!

Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 32472 Accepted Submission(s): 14641

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 than two players. It consists of a chessboard(棋盘)(棋盘)and some chessmen(棋子), and all chessmen are marked by a positive integer or “start” or “end”. The player starts from start-point and must jumps into end-point finally. In the course of jumping, the player will visit the chessmen in the path, but everyone must jumps from one chessman to another absolutely bigger (you can assume start-point is a minimum and end-point is a maximum.). And all players cannot go backwards. One jumping can go from a chessman to next, also can go across many chessmen, and even you can straightly get to end-point from start-point. Of course you get zero point in this situation. A player is a winner if and only if he can get a bigger score according to his jumping solution. Note that your score comes from the sum of value on the chessmen in you jumping path.
Your task is to output the maximum value according to the given chessmen list.

Input
Input contains multiple test cases. Each test case is described in a line as follow:
N value_1 value_2 …value_N
It is guarantied(保证) that N is not more than 1000 and all value_i are in the range of 32-int.
A test case starting with 0 terminates the input and this test case is not to be processed.

Output
For each case, print the maximum according to rules, and one line one case.

Sample Input

3 1 3 2
4 1 2 3 4
4 3 3 2 1
0

Sample Output

4
10
3

Author
lcy
经典dp

#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
int dp[1005],num[1005];
int main(){
    int n,i,j,max;
    while(scanf("%d",&n)!=EOF&&n){
        memset(dp,0,sizeof(dp));

        for ( i = 0; i < n; ++i)
        {
            scanf("%d",&num[i]);
        }
        max=dp[0]=num[0];
        for ( i = 1; i < n; ++i)
        {
            dp[i]=num[i];
            for ( j = 0; j < i; ++j)
            {
                if(num[j]<num[i]){
                    if(dp[i]<dp[j]+num[i])
                    dp[i]=dp[j]+num[i];
                }

            }
            if(max<dp[i])max=dp[i];
        }

        printf("%d\n",max );
    }
    return 0;
}
版权声明:本文为博主原创文章,转载请注明出处。

相关文章推荐

hdu1087 Super Jumping! Jumping! Jumping!

题目的大意是从起点开始跳,只能从小到大跳不能从大到小跳,也可以直接从起点跳到终点,并假设起点最小,终点最大,可以一次跳一步也可以一次跳任意多步,问途径的数组的最大和是多少,这个和最长上升子序列其实没什...

HDU1087:Super Jumping! Jumping! Jumping!(DP)

Problem Description Nowadays, a kind of chess game called “Super Jumping! Jumping! Jumping!” is ver...

HDU1087 Super Jumping! Jumping! Jumping!

Super Jumping! Jumping! Jumping! Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768...

hdu 1087 dp

//考察点dp //思路:这里我使用dp数组,dp[i]表示到i位置之前的最大值(包括i),最后我们只需要重新遍历一下数组dp获得最大值,即为所求结果。 //提交情况:使用g++提交compiler ...

poj1087&hdu1526A Plug for UNIX(最大流)

题目请戳这里 题目大意:房间里有n个插座,每个插座都不一样。有m个不同的用电器,每个用电器有一个插头,每个插头只能插相对应的插座。再给k类转换器,每类转换器能把A插头转化成B插头,每类转换器无限个。...

HDU1087 Super Jumping! Jumping! Jumping! 【DP】

Super Jumping! Jumping! Jumping! Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32...

【HDU-1087】Super Jumping! Jumping! Jumping!

Problem DescriptionNowadays, a kind of chess game called “Super Jumping! Jumping! Jumping!” is very ...

hdu 1087 Super Jumping! Jumping! Jumping!(最长上升子序列变形)

注意:对最长上升子序列,理解不深刻,一直wa..... 题目分析:每次从左向右,找arr[i]>a[j]&&dp[i]最大的, #include #include using name...

HDU 1087 Super Jumping! Jumping! Jumping!

B - Super Jumping! Jumping! Jumping! Crawling in process... Crawling failed Time Limit:1000MS     Me...
  • Inite
  • Inite
  • 2015-11-13 23:41
  • 253

HDU 1087-Super Jumping! Jumping! Jumping!(简单DP)

Problem Description Nowadays, a kind of chess game called “Super Jumping! Jumping! Jumping!” is ver...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)