zoukankan      html  css  js  c++  java
  • nyist 17 -----纯递归纯递推--超时


    #include <iostream>
    #include<stdio.h>
    #include<string.h>
    using namespace std;
    char a[10002];
    int b[10002];
    int n,ans;
    int f(int x)
    {
    int i,t;
    for(i=0;i<=x-1;i++)
    {
    t=f(i);
    if(a[i]<a[x] && b[x]<t+1) b[x]=t+1;
    }
    return b[x];
    }

    int main( )
    {
    int i,j,len;
    cin>>n;
    for(i=1;i<=n;i++)
    {
    scanf("%s",a);
    len=strlen(a) ;
    for(j=0;j<len;j++) b[j]=1;
    f(len-1);
    ans=1;
    for(j=0;j<len;j++)
    if(ans<b[j]) ans=b[j];
    cout<<ans<<endl ;
    }

    }

     

    *******************************************************************************************************************************

    #include <iostream>
    #include<stdio.h>
    #include<string.h>
    using namespace std;
    char a[10002];
    int b[10002];
    int n,ans;
    int f(int x)
    {
    int i,t;
    if(b[x]>1) return b[x];

    for(i=0;i<=x-1;i++)
    {t=f(i);
    if(a[i]<a[x] && b[x]<t+1) b[x]=t+1;
    }
    return b[x];
    }

    int main( )
    {
    int i,j,len;
    cin>>n;
    for(i=1;i<=n;i++)
    {
    scanf("%s",a);
    len=strlen(a) ;
    for(j=0;j<len;j++) b[j]=1;
    f(len-1);
    ans=1;
    for(j=0;j<len;j++)
    if(ans<b[j]) ans=b[j];
    cout<<ans<<endl ;
    }

    }

     


    ******************************************************************************


    #include <iostream>
    #include<stdio.h>
    #include<string.h>
    using namespace std;
    char a[10002];
    int b[10002];
    int n,ans;
    int f(int x)
    {
    int i,t;
    if(b[x]>0) return b[x];

    for(i=0;i<=x-1;i++)
    {t=f(i);
    if(a[i]<a[x] && b[x]<t+1) b[x]=t+1;
    }
    return b[x];
    }

    int main( )
    {
    int i,j,len;
    cin>>n;
    for(i=1;i<=n;i++)
    {
    scanf("%s",a);
    len=strlen(a) ;
    for(j=0;j<len;j++) b[j]=1;
    f(len-1);
    ans=1;
    for(j=0;j<len;j++)
    if(ans<b[j]) ans=b[j];
    cout<<ans<<endl ;
    }

    }

    ***************************************************************


    #include <iostream>
    #include<stdio.h>
    #include<string.h>
    using namespace std;
    char a[10002];
    int b[10002];
    int n,ans;
    int f(int x)
    {
    int i,t;
    if(b[x]!=0) return b[x];

    for(i=0;i<=x-1;i++)
    {t=f(i);
    if(a[i]<a[x] && b[x]<t+1) b[x]=t+1;
    }
    return b[x];
    }

    int main( )
    {
    int i,j,len;
    cin>>n;
    for(i=1;i<=n;i++)
    {
    scanf("%s",a);
    len=strlen(a) ;
    for(j=0;j<len;j++) b[j]=0;
    f(len-1);
    ans=1;
    for(j=0;j<len;j++)
    if(ans<b[j]) ans=b[j];
    cout<<ans<<endl ;
    }

    }

  • 相关阅读:
    非静态成员的sizeof
    Android中java.lang.ClassNotFoundException: ***.**** in loader dalvik.system.PathClassLoader[/data/app
    手机 SIM卡的EF
    android 获取手机ip的三种方式
    获取图片倒影效果
    python基础
    Python学习_数据处理split方法
    Python学习_从文件读取数据和保存数据
    Python学习_列表推导和Lambda表达式
    python学习_数据处理编程实例(一)
  • 原文地址:https://www.cnblogs.com/2014acm/p/3907755.html
Copyright © 2011-2022 走看看