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 ;
    }

    }

  • 相关阅读:
    实例!使用Idea创建SSM框架的Maven项目
    springboot开发中的领域模型pojo
    JDK源码阅读:Object类阅读笔记
    DevSecOps: JIRA、Confluence工具、JIRA插件-Xray、eazybi、FishEye、Crucible、jenkins
    MySQL监控及优化
    二叉树 红黑树 B树 B+树 理解
    mysql高性能分页语句_如何优化Mysql千万级快速分页
    使用.Net MinIO SDK 踩的坑
    Windows下Minio介绍、安装及使用、密码修改
    使用docker mediawiki,搭建网页wiki
  • 原文地址:https://www.cnblogs.com/2014acm/p/3907755.html
Copyright © 2011-2022 走看看