南阳理工OJ_题目17 单调递增最长子序列

来源:互联网 发布:软件开发qq群 编辑:程序博客网 时间:2024/05/16 16:20
#include <iostream>#include <cstring>using namespace std;int dp(int cur);char ch[10010];int len;int d[10010];int main(){    int T;    cin >> T;    while(T--)    {        cin >> (ch+1);        len = strlen(ch+1);        int max = 0;        memset(d, 0, sizeof(d));        for(int i = 1; i <= len; i++)        {            if(max < dp(i))                max = dp(i);        }        cout << max << endl;    }}int dp(int cur){    if(d[cur] > 0)        return d[cur];    d[cur] = 1;    for(int i = cur+1; i <= len; i++)    {        if( ch[cur] < ch[i] )            if(d[cur] < dp(i) + 1)                d[cur] = dp(i) + 1;    }    return d[cur];}

0 0
原创粉丝点击