bzoj1355: [Baltic2009]Radio Transmission

来源:互联网 发布:猪八戒身份证软件 编辑:程序博客网 时间:2024/05/20 16:36

kmp题。

#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int n,nxt[1000005];char s[1000005];int main(){    scanf("%d",&n);    scanf("%s",s+1);    nxt[0]=-1;    for(int i=2,j=0;i<=n;i++)    {        while(j>0&&s[i]!=s[j+1])        {            j=nxt[j];        }        if(s[j+1]==s[i])        j++;        nxt[i]=j;    }    printf("%d",n-nxt[n]);    return 0;}
原创粉丝点击