zoukankan      html  css  js  c++  java
  • HDU

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

    #include <iostream>
    using namespace std;
    /****************************************************************************************************************
                    题意:找到和最大的连续上升序列(别理解错题意,连续不是相邻!!!不是相邻!!!)
                    思路:
                    1,dp[i]以a[i]结尾的上升序列的最大值
                    2,dp[j] =a[j] + max { dp[k] , dp[j];  k<j && a[k]<a[j] };
                    3,找到当前a[i]之前最大的上升序列且可以和a[i]构成新的上升序列
    ****************************************************************************************************************/
    int a[1005];
    int dp[1005];
    int main()
    {
        int N;
        while(cin>>N)
        {
            if(N == 0)  break;
            for(int i = 1;i <= N;i ++){
                cin>>a[i];
                dp[i]=a[i];
            }
            int maxsum=0;
            for(int i = 1;i <= N;i ++){
                for(int j =1;j < i;j ++){
                    if(a[j] < a[i] && dp[j]+a[i] > dp[i])
                        dp[i]=dp[j]+a[i];
                }
                if(dp[i] > maxsum)
                    maxsum=dp[i];
            }
            cout<<maxsum<<endl;
        }
        return 0;
    }
    



  • 相关阅读:
    xps坐标计算
    xps文档
    xps坐标提取
    javascript
    python 类的继承
    PHP parse_url函数示例
    PHP 二维数组按照指定键排序(正序或倒叙均可)
    PHP substr()函数参数解释 通俗易懂
    PHP四大经典排序算法源码
    X友 NC 远程命令执行
  • 原文地址:https://www.cnblogs.com/Jstyle-continue/p/6352009.html
Copyright © 2011-2022 走看看