zoukankan      html  css  js  c++  java
  • Hrbust 1835 最长递增子序列(dp)

    最长递增子序列
    Time Limit: 1000 MS Memory Limit: 32768 K
    Total Submit: 377(132 users) Total Accepted: 170(122 users) Rating: Special Judge: No
    Description
    给出一个数字序列求其最长的递增子序列例如序列(1,7,3,5,9,4,8).

    (1,7)和(3,4,8)是其递增子序列但其最长的递增子序列是(1,3,5,8)。

    Input
    本题有多组测试数据,对于每组测试数据第一行是一个整数n(n<=100)代表序列长度。

    第二行是n个整数。

    Output
    最长递增子序列长度
    Sample Input
    7

    1 7 3 5 9 4 8

    Sample Output
    4

    最长子序列系列,对数列进行遍历,找出当前遍历数字之前的数列中,符合递增条件的(>=)最长长度,并转移继承,符合条件的数字记录下来它的存储长度,并在传递到遍历的数字时+1(遍历数字本身)存储起来

    #include<stdio.h>///超棒!最长递增子序列get√
    #include<string.h>///实际上就是将每个数和前面的前面的最大值比较,选取最大值加上并赋值给正在遍历的数
    #include<algorithm>
    using namespace std;
    int main()
    {
        int i,j,a[1080],dp[1080],n;///两个数组,dp数组和输入数组
        while(scanf("%d",&n)!=EOF)
        {
            for(i=0;i<n;i++)
            {
                scanf("%d",&a[i]);
            }
            memset(dp,0,sizeof(dp));
            int flag;
            int maxn=1;
            dp[0]=1;///初始第一个遍历的数为长度1
            for(i=1;i<n;i++)///开始动态规划
            {
                flag=dp[i];///记录此时遍历数字的长度,一般被初始化为0
                for(j=0;j<i;j++)///检查前面的dp数组中存储的最长长度
                {
                    if(a[i]>a[j]&&dp[j]>flag)///若满足递增条件,且找到了最大长度
                    {
                        flag=dp[j];///记录长度
                    }///如果符合递增序列的条件,那么就将其长度记录,到flag,便于存至第i位作为最长长度
                }
                dp[i]=flag+1;///若遍历过了的i,则将最长长度+1,表示为i的长度
                maxn=max(maxn,dp[i]);///还是直接遍历取最大值吧
            }///作为最长长度,从flag中+1(i本身)记录到第i个数中
    //        for(i=0;i<=n;i++)
    //        {
    //            printf("%d
    ",dp[i]);
    //        }
    //        sort(dp,dp+n);///这里找dp出来的长度最大值,有点小题大做了,但是为了省事
            printf("%d
    ",maxn);
        }
        return 0;
    }
    
  • 相关阅读:
    Linq to sql(八):继承与关系(二)
    Linq to sql(八):继承与关系(三)
    Linq to sql(八):继承与关系(五)
    div水平、垂直居中
    【转】C#读取QQ纯真IP数据库中的数据
    Flash被层遮挡的解决办法
    简易自定义分页
    网站来访者IP及地址记录
    安家第一篇
    天龙八部服务器端共享内存的设计
  • 原文地址:https://www.cnblogs.com/kuronekonano/p/11794358.html
Copyright © 2011-2022 走看看