zoukankan      html  css  js  c++  java
  • NYOJ 17(LIS转为LCS,但是MLE)

    #include<stdio.h>
    #include<string.h>
    #define N 10001
    #define MAX(m,n) ((m)>(n)?(m):(n))
    char a[N],b[N];
    int d[N][N];
    int cmp(const void *a,const void *b)
    {
    	return *(char *)a-*(char *)b;
    }
    int My_Cancel(int len)/*删除相邻的同样数据,不相邻的并不删除,即aabbab,输出abab不是
    
    ab,成为单调递增,否则成为单调不减序列**/
    {
    	int i,j=0;
    	for(i=0;i<len;i++)
    	{
    	  if(a[i+1]==a[i])
    	   continue;
    	  else
    	  {
    	   a[j+1]=a[i+1];
    	   j++;
    	  }
    	}
    	return j;
    }
    int LISL(int len)
    {
    	int i,j;
    	for(i=1;i<=len;i++)
    		d[i][0]=0;
    	for(j=1;j<=len;j++)
    		d[0][j]=0;
    	for(i=1;i<=len;i++)
    		for(j=1;j<=len;j++)
    			if(a[i-1]==b[j-1])
    				d[i][j]=d[i-1][j-1]+1;
    			else 
    				d[i][j]=MAX(d[i][j-1],d[i-1][j]);
    	return d[len][len];
    }
    int main()
    {
    	int T,len1,len2;int i,j;
    	scanf("%d%*c",&T);
    	while(T--)
    	{
    		memset(a,0,sizeof(a));
    		memset(b,0,sizeof(b));
    		memset(d,0,sizeof(d));
    		scanf("%s%*c",a);
    		len1=strlen(a);
    		len2=My_Cancel(len1);
    		memcpy(b,a,sizeof(a));
    		qsort(b,len2,sizeof(char),cmp);
    		printf("%d\n",LISL(len2));
    	}
    	return 0;
    }
    

      

  • 相关阅读:
    spring的了解以及简单框架的搭建
    动态代理
    struts2标签(转)
    使用OGNL表达式
    struts2 ValueStack
    struts2框架xml验证
    struts2 validate手动验证
    struts2自定义拦截器
    struts2文件上传
    当findById(Integer id)变成String类型
  • 原文地址:https://www.cnblogs.com/hxsyl/p/2516377.html
Copyright © 2011-2022 走看看