kmp hdu 3336

原创 2013年12月03日 18:25:43
#include <iostream>
#include <cstring>
#include <cstdio>

using namespace std;

const int MAXN = 200010;

int next[MAXN];

void Get_Next(char* str, int n)
{
    int i = 0, j = -1;
    next[0] = -1;
    while(i < n)
    {
        if(j == -1 || str[i] == str[j])
        {
            ++i;
            ++j;
            next[i] = j;
        }
        else
            j = next[j];
    }
}


int main()
{
    int T, i;
    cin>>T;
    char str[MAXN];
    while(T--)
    {
        int ans = 0;
        int n;
        cin>>n>>str;
        Get_Next(str, n);
        ans = next[n] + n;
        for(i = 0; i < n; ++i)
            if(next[i] > 0 && next[i] + 1 != next[i+1])
                ans += next[i];
        cout<<ans%10007<<endl;
    }
    return 0;
}

版权声明:本文为博主原创文章,转载需注明出处。

hdu__KMP算法模板题【持续更新中】

剪花布条                                                                           Time Limit: 1000/1000...
  • ACMore_Xiong
  • ACMore_Xiong
  • 2015年08月22日 12:08
  • 2978

【KMP】【模板】

/* pku3461(Oulipo), hdu1711(Number Sequence) 这个模板 字符串是从0开始的 Next数组是从1开始的 */ #include #include us...
  • u013200703
  • u013200703
  • 2015年09月12日 23:55
  • 975

hdu 1711 KMP算法模板题

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

HDU 3336 KMP算法中对next数组的理解

http://acm.hdu.edu.cn/showproblem.php?pid=3336 Problem Description It is well known that Aek...
  • u013573047
  • u013573047
  • 2014年03月25日 15:01
  • 838

HDU 3336 (KMP上的dp问题,ac自动机我来了)

Count the string Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others...
  • peteryuanpan
  • peteryuanpan
  • 2014年09月15日 04:08
  • 426

hdu 3336、4763、2594 kmp next数组的理解、模板题

hdu 3336 Count the string Description It is well known that AekdyCoin is good at s...
  • reborn_ZhMZ
  • reborn_ZhMZ
  • 2016年04月12日 12:56
  • 251

改进的KMP算法

/*改进的字符串匹配算法 改进的KMP算法*/ #include #include #include int next[100];//全局变量 int KMP(char S[],char ...
  • silence2015
  • silence2015
  • 2016年02月22日 15:10
  • 1060

从头到尾彻底理解KMP(转载自July)

从头到尾彻底理解KMP 作者:July 时间:最初写于2011年12月,2014年7月21日晚10点 全部删除重写成此文,随后的半个多月不断反复改进。 1...
  • wjy0330
  • wjy0330
  • 2014年09月26日 23:31
  • 1568

飘逸的python - 字符串的KMP匹配算法

首先我们来看一下字符串的朴素匹配. 可以想象成把文本串s固定住,模式串p从s最左边开始对齐,如果对齐的部分完全一样,则匹配成功,失败则将模式串p整体往右移1位,继续检查对齐部分,如此反复. #朴素...
  • u010180339
  • u010180339
  • 2014年11月10日 11:20
  • 4916

Oulipo 哈希代替KMP再做字符串处理

Oulipo Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 39845   Accepted: 16034 ...
  • major_zhang
  • major_zhang
  • 2017年04月18日 22:34
  • 334
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:kmp hdu 3336
举报原因:
原因补充:

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