首页 > 学院 > 开发设计 > 正文

HDU 1087 Super Jumping! Jumping! Jumping! (基础dp)

2019-11-08 01:42:15
字体:
来源:转载
供稿:网友
/*基础dpE - Super Jumping! Jumping! Jumping!时间: 2017/02/20题意:最大递增子序列题解:dp[i] 表示以i为终点的递增子序列最大值dp[i] = max(dp[i],dp[j]+a[i]) {j < i}*/#include<cstdio>#include<cstring>#include<cmath>#include<iostream>#include<algorithm>#include<queue>#include<map>using namespace std;#define N 1010#define INF 0x3f3f3f3fint dp[N],a[N];int main(){    int n;    while(~scanf("%d",&n),n)    {        for(int i = 0; i < n; i++)            scanf("%d",&a[i]);        memset(dp,0,sizeof(dp));        int maxn = 0;        for(int i = 0; i < n; i++)        {            dp[i] = a[i];            for(int j = i-1; j >= 0; j--)            {                if(a[i] > a[j])                    dp[i] = max(dp[i],dp[j]+a[i]);            }            //PRintf("%d/n",dp[i]);            maxn = max(maxn,dp[i]);        }        printf("%d/n",maxn);    }    return 0;}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表