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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 拓扑图怎么看_拓扑排序算法图解

    拓扑图怎么看_拓扑排序算法图解一条单向的铁路线上,依次有编号为 1, 2, …, n 的 n 个火车站。每个火车站都有一个级别,最低为 1 级。现有若干趟车次在这条线路上行驶,每一趟都满足如下要求:如果这趟车次停靠了火车站 x,则始发站、终点站之间所有级别大于等于火车站 x 的都必须停靠。(注意:起始站和终点站自然也算作事先已知需要停靠的站点)例如,下表是 5 趟车次的运行情况。其中,前 4 趟车次均满足要求,而第 5 趟车次由于停靠了 3 号火车站(2 级)却未停靠途经的 6 号火车站(亦为 2 级)而不满足要求。现有 m

    2022年8月10日
    10
  • 基于最简单的FFmpeg采样读取内存读写:存储转

    基于最简单的FFmpeg采样读取内存读写:存储转

    2022年1月1日
    53
  • memorycleaner汉化版(v4l2 userptr)

    本文链接:https://blog.csdn.net/coroutines/article/details/70141086可参考:http://www.it610.com/article/4522348.htm//v4l2官方翻译基于V4L2的应用,通常面临着大块数据的读取与拷贝等问题。尤其在嵌入式系统中,对于实时性能要求较高的应用,拷贝会花上几十个ms…

    2022年4月16日
    133
  • 深入理解JVM之JVM内存区域与内存分配「建议收藏」

    深入理解JVM之JVM内存区域与内存分配

    2022年2月21日
    96
  • Oracle11g软硬件基本要求,Oracle 11g的安装

    Oracle11g软硬件基本要求,Oracle 11g的安装Oracle11g有基本安装和高级安装两种方式。两种方式对硬件要求也不相同,oracle11g软件非常大,对硬件要求很高。目前只是讲述在windows环境下的安装,Linux环境下安装以后会讲,下表给出了安装Oracle11g所需的硬件配置。系统要求说明CPU最低主频550MHZ以上内存1GB以上虚拟内存物理内存的2倍磁盘空间基本安装需4.55G,高级安装需4.92G一、Windows环境下安装…

    2022年7月25日
    27
  • 分布式数据库CAP原理

    分布式数据库CAP原理分布式数据库CAP原理CAP简介CAP理论CAP总结CAP简介传统的关系型数据库事务具备ACID:(1)A:原子性(2)C:一致性(3)I:独立性(4)D:持久性分布式数据库的CAP:(1)C(Consistency):强一致性“allnodesseethesamedataatthesametime”,即更新操作成功并返回客户端后,所有节点在同一时间的数据完全一致,这就是分布式的一致性。一致性的问题在并发系统中不可避免,对于客户端来说,一致性指的是并发访问时更新

    2022年5月12日
    36

发表回复

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

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