单调递增最长子序列

#include <iostream>
#include<string.h>
using namespace std;


int main()
{
    int n,i,j;
    cin>>n;
    while(n--)
    {
        int m;int sum=0;
        char a[10005];
        int dp[10005]={0};
            cin>>a;
            m=strlen(a);
        for(i=1;i<m;i++)
            for(j=i-1;j>=0;j--)
        {
            if(a[i]>a[j])
                dp[i]=max(dp[i],dp[j]+1);
            if(dp[i]>sum)
            sum=dp[i];
        }
        cout<<sum+1<<endl;
    }
    return 0;
}

相关文章:

  • 2022-02-18
  • 2022-12-23
  • 2021-07-12
  • 2021-11-04
  • 2021-07-30
  • 2022-12-23
  • 2021-10-09
  • 2021-06-18
猜你喜欢
  • 2021-12-23
  • 2021-11-13
相关资源
相似解决方案