zoukankan      html  css  js  c++  java
  • 【模板】南阳理工--17 单调递增最长子序列

    描述求一个字符串的最长递增子序列的长度
    如:dabdbf最长递增子序列就是abdf,长度为4

     
    输入
    第一行一个整数0<n<20,表示有n个字符串要处理
    随后的n行,每行有一个字符串,该字符串的长度不会超过10000
    输出
    输出字符串的最长递增子序列的长度
    样例输入
    3
    aaa
    ababc
    abklmncdefg
    样例输出
    1
    3
    7
     1 #include<cstdio>
     2 #include<cstring>
     3 #include<algorithm>
     4 using namespace std;
     5 char a[10000+10];
     6 int dp[10000+10];
     7 int main()
     8 {
     9     int n;
    10     scanf("%d",&n);
    11     while(n--)
    12     {
    13         scanf("%s",a);
    14         int length=strlen(a);
    15         int ans=0;
    16         for(int i=0;i<length;i++)  //for里面每条语句的位置不能错了,位置,位置..
    17         {
    18             dp[i]=1;
    19             for(int j=0;j<i;j++)
    20             {
    21                 if(a[i]>a[j])
    22                 {
    23                     dp[i]=max(dp[i],dp[j]+1);
    24                 }
    25                 
    26             }
    27             ans=max(dp[i],ans);
    28         }
    29         printf("%d
    ",ans);
    30     }
    31     return 0;
    32 }


  • 相关阅读:
    第二期冲刺会议3
    第二期站立会议2
    意见汇总及改进方案
    第二期站立会议1
    第一期站立会议7
    第一期站立会议6
    第一期站立会议5
    第一期站立会议4
    第一期站立会议3
    第一期站立会议2
  • 原文地址:https://www.cnblogs.com/hss-521/p/7326593.html
Copyright © 2011-2022 走看看