NYOJ

来源:互联网 发布:预防网络诈骗班会流程 编辑:程序博客网 时间:2024/06/18 04:41

NYOJ - 17:单调递增最长子序列

标签:算法、动态规划

相似题目:

NYOJ - 79:拦截导弹
http://blog.csdn.net/wingrez/article/details/78136976

题目

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

输入

第一行一个整数0

输出

输出字符串的最长递增子序列的长度

输入样例

3
aaa
ababc
abklmncdefg

输出样例

1
3
7

参考代码

#include<cstdio>#include<cstring>const int maxn=10000+5;char str[maxn];int L[maxn];int main(){    int n;    int i,j;    scanf("%d",&n);    while(n--)    {        memset(L,0,sizeof(L));        scanf("%s",str);        int len=strlen(str);        int res=0;        for(i=0;i<len;i++)        {            L[i]=1;            for(j=0;j<i;j++)            {                if(str[j]<str[i])                    L[i]=L[j]+1>L[i] ? L[j]+1 : L[i];            }            res=L[i]>res ? L[i] : res;        }        printf("%d\n",res);    }}
原创粉丝点击