HDU 1711 Number Sequence(算法验证)

HDU 1711 Number Sequence(算法验证)

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

该怎么做、每一个人的人生都应该自己掌握、你给不了别人一切、你也不懂别人的忧伤、

                                                                                          微笑不代表快乐、哭泣不一定悲伤

               不努力怎么让关心你的人幸福、不努力怎么让看不起你的人绝望、

                                                                                                                                    

                                                                                                                                                              我用生命在奋斗——lx_Zz

—————————————————————————————————————————————————————————————

—————————————————————————    华丽的切割线    ————————————————————————————

—————————————————————————————————————————————————————————————

106786862014-05-05 03:11:35Accepted1711468MS4224K1865 BC++

经过验证、发现我刚刚YY的算法目測是正确的、、O(∩_∩)O哈哈~效果还不错。。

。→_→

淡淡改了一下、毕竟都是类似的题、废话不多说、直接上代码:

#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;int str1[10005];int str2[1000005];int next[10005];int main(){    int T;    scanf("%d",&T);    while(T--)    {        int n,m;        scanf("%d%d",&n,&m);        for(int i=0;i<n;i++)            scanf("%d",&str2[i]);        for(int i=0;i<m;i++)            scanf("%d",&str1[i]);        int len1=m;        next[0]=-1;        for(int i=1;i<len1;i++)        {            if(str1[i]==str1[next[i-1]])            {                next[i]=next[i-1]+1;            }            else if(str1[i]==str1[0])            {                next[i]=1;            }            else next[i]=0;        }        int len2=n;        int ans=-1;        int flag=0;        for(int i=0,j=0;i<len2;)        {            int ff=0;            if(str1[j]==str2[i])            {                i++;j++;                if(j>=len1)                {                    ans=i-m+1;                    break;                }            }            else            {                while(str1[j]!=str2[i])                {                    if(j==0)                    {                        ff=1;                        break;                    }                    j=next[j-1];                    if(j==-1)                    {                        ff=1;                        break;                    }                }                if(ff)                {                    if(str1[0]==str2[i])                    {                        i++;j=1;                    }                    else                    {                        i++;j=0;                    }                }            }        }        printf("%d\n",ans);    }    return 0;}

版权声明:本文博客原创文章,博客,未经同意,不得转载。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/117580.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • django初探-创建简单的博客系统(二)建议收藏

    显示博客信息将博客内容保存到数据库还不是发布博客的终极目的,博客一定要显示出来,显示博客信息的基本知识如下图:显示文章标题获取数据当我们在./blog/models.py中创建了数据模型后,D

    2021年12月19日
    40
  • 解决SecureCRTPortable和SecureFXPortable的中文乱码问题

    解决SecureCRTPortable和SecureFXPortable的中文乱码问题平时学习或者工作中,我们会发现Linux客户端SecureCRTPortable、SecureFXPortable连接Linux服务器时会出现中文乱码问题。通过修改配置可以解决这个问题。一、修改SecureCRTPortable的相关配置步骤一:【选项】→【全局选项】步骤二:【常规】→【默认会话】,点击【编辑默认设置】,点击【确定】步骤三:【外观】,把【字符编码】改成"UTF-8",点击…

    2022年5月5日
    53
  • beanutils.copyproperties属性值丢失_beanutils.populate用法

    beanutils.copyproperties属性值丢失_beanutils.populate用法问题场景例如有个对象要提交,提交一次,第二次提交我们希望是对上次提交的完善。。那么用其他方式实现很麻烦,本身的BeanUtils.copyProperties也是不大支持。解决方案hutool开源库为我们提供了更为强大的Bean工具-BeanUtil,只需要一句代码就搞定BeanUtil.copyProperties(oldDetail.get(),userDetail,true,Copy…

    2022年10月4日
    2
  • gb50174-2017电子信息系统机房设计规范发布时间_计算机机房设计标准GB50174

    gb50174-2017电子信息系统机房设计规范发布时间_计算机机房设计标准GB50174中国工程建设标准化协会信息通信专业委员会建标信通字[2009]03号GB50174《电子信息系统机房设计规范》贯标培训通…

    2022年9月28日
    8
  • macos idea2021激活码(JetBrains全家桶)

    (macos idea2021激活码)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~23LNPMIJZT-eyJsaWNlbnNlSWQiOi…

    2022年3月29日
    133
  • java启动器_打造java启动器步骤三「建议收藏」

    java启动器_打造java启动器步骤三「建议收藏」一、Java程序的启动过程对于普通用户来说,Java让人不习惯的是程序的启动过程;即使对于富有经验的开发者,为了用默认的装载器启动Java程序,不得不编写大量批命令、脚本文件,不得不在命令行环境下进行大量的复制/粘贴操作,也很容易出现误操作。用惯了Windows方便快捷的GUI,人们早就习惯了通过双击运行程序的方式。对于Java程序,要实现这个本机启动功能就必须编写定制的启动器。用定制启动器启动J…

    2022年7月8日
    33

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号