• Super Jumping! Jumping! Jumping!---hdu1087(动态规划)


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

    题意就是给你n个数,找出某个序列的最大和,这个序列满足依次增大的规则;

    哎,这个题之前做过,但是一点印象都没有但是自己写出来了,估计当时写的时候也不知道为什么这样写吧,事实证明,题做多了自然就懂了;

    我是拿做上升子序列的想法来做的。。。

    #include<stdio.h>
    #include<string.h>
    #include<algorithm>
    using namespace std;
    #define N 1100
    #define INF 0xfffffff
    int main()
    {
        int n, a[N], dp[N], Max;
        while(scanf("%d", &n), n)
        {
            memset(a, 0, sizeof(a));
            memset(dp, 0, sizeof(dp));
            for(int i=1; i<=n; i++)
            {
                scanf("%d", &a[i]);
            }
            Max = 0;
            for(int i=1; i<=n; i++)
            {
                dp[i] = a[i];
                for(int j=1; j<=i; j++)
                {
                    if(a[i]>a[j])
                        dp[i] = max(dp[i], dp[j]+a[i]);
                }
                Max = max(Max, dp[i]);
            }
            printf("%d
    ", Max);
        }
        return 0;
    }
    View Code
  • 相关阅读:
    Flask——session
    UISB ScrollView
    UISB 登陆
    UISB TextField
    UISB 进步器 分栏控制器
    UISB UISlider ProgressView
    UISB Switch
    UISB 定时器
    Django-Celery文档
    UISB UIViewController
  • 原文地址:https://www.cnblogs.com/zhengguiping--9876/p/4917946.html
Copyright © 2020-2023  润新知