nyoj_17 单调递增最长子序列

单调递增最长子序列

时间限制: 3000 ms  |  内存限制: 65535 KB
难度: 4
描述
求一个字符串的最长递增子序列的长度
如:dabdbf最长递增子序列就是abdf,长度为4
输入
第一行一个整数0 随后的n行,每行有一个字符串,该字符串的长度不会超过10000
输出
输出字符串的最长递增子序列的长度
样例输入
3
aaa
ababc
abklmncdefg
样例输出
1
3
7

分析:

递推公式:dp[i]=max(dp[j]+1,dp[i])(j

代码:

#include
#include
int main()
{
	int N;
	char s[10010];
	int d[10010];
	scanf("%d",&N);
	while(N--)
	{
		memset(s,'\0',10010);
		memset(d,0,10010);
		scanf("%s",s);
		int len=strlen(s);
		int i,j,max=0;
		for(i=1;is[j]&&d[i]


你可能感兴趣的:(动态规划)