hdu 1711 Number Sequence--KMP

原创 2012年03月23日 19:28:46
#include<stdio.h>
int t[1000010],p[10100],next[10100];
int n,m;
void getnext()
{
    int i,j;
    next[1]=0;
    i=1;
    j=0;
    while(i<=m)
    {
        if(j==0||p[i]==p[j])
        {
            i++;
            j++;
            if(p[i]!=p[j]) next[i]=j;
            else next[i]=next[j];
        }
        else
        {
            j=next[j];
        }
    }
}
int main()
{
    int g,i,j;
    scanf("%d",&g);
    while(g--)
    {
        scanf("%d%d",&n,&m);
        for(i=1;i<=n;i++)
            scanf("%d",&t[i]);
        for(i=1;i<=m;i++)
            scanf("%d",&p[i]);
        getnext();
        i=1;
        j=1;
        while(i<=n&&j<=m)
        {
            if(j==0||t[i]==p[j])
            {
                i++;
                j++;
            }
            else
            {
                j=next[j];
            }
        }
        if(j>m)
            printf("%d\n",i-j+1);
        else printf("-1\n");
    }
    return 0;
}

【从字符到数字】HDU 1711 Number Sequence

KMP模板题,链接:点击打开链接 基本没有什么变化,如果硬说有的话,就是把字母变成了数字。输入时请注意scanf,这个题估计输入规模极大。。cin会TLE的。。 2AC(第一次用cin了): #...
  • mig_davidli
  • mig_davidli
  • 2013年01月20日 15:06
  • 802

hdu 1711 KMP算法模板题

题意:给你两个串,问你第二个串是从第一个串的什么位置开始完全匹配的? kmp裸题,复杂度O(n+m)。 当一个字符串以0为起始下标时,next[i]可以描述为"不为自身的最大首尾重复子串长度"。 ...
  • NK_test
  • NK_test
  • 2015年07月22日 23:00
  • 1250

hdu3565 Bi-peak Number (有上界和下界的数位dp)

Problem Description A peak number is defined as continuous digits {D0, D1 … Dn-1} (D0 > 0 and n >...
  • Kirito_Acmer
  • Kirito_Acmer
  • 2016年04月06日 21:56
  • 490

hdu 1711 Number Sequence -- (KMP 求数列第一匹配的位置)

Number Sequence Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others...
  • qq_27717967
  • qq_27717967
  • 2016年05月24日 21:23
  • 192

HDU 5447 Good Numbers (2015年长春赛区网络赛K题)

1.题目描述:点击打开链接 2.解题思路:本题利用唯一分解定理+gcd解决。这是我第一次用Java写题,忙了一下午终于通过了,真是太不容易了==。本题实际上就是把k1,k2分解后,把所有素因子的指数...
  • u014800748
  • u014800748
  • 2015年09月17日 19:47
  • 1196

HDU 1711 子序列

Number Sequence Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)...
  • u011566113
  • u011566113
  • 2013年08月22日 15:55
  • 320

hdu 1711为何WA这么多次

WA的代码: #include #include #include #include const int maxnum=10010; using namespace std; int mother...
  • qq_15681523
  • qq_15681523
  • 2015年02月02日 16:04
  • 449

HDU 1711 Number Sequence(KMP:找模板第一次出现的位置)

HDU 1711 Number Sequence(KMP:找模板第一次出现的位置) http://acm.hdu.edu.cn/showproblem.php?pid=1711 题意:给你T串和模板P...
  • u013480600
  • u013480600
  • 2014年04月04日 13:31
  • 985

HDU - 6231 K-th Number (2017CCPC哈尔滨站 二分+尺取法)

K-th Number Problem Description Alice are given an array A[1..N] with N numbers. Now Al...
  • lzc504603913
  • lzc504603913
  • 2017年11月12日 20:26
  • 300

hdu 1711(KMP的简单应用)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1711 Number Sequence Time Limit: 10000/5000 MS (J...
  • liusuangeng
  • liusuangeng
  • 2014年09月10日 18:41
  • 500
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:hdu 1711 Number Sequence--KMP
举报原因:
原因补充:

(最多只允许输入30个字)