【字符串】【KMP】【未完成】

1>censoring

 

2>似乎在梦中见过的样子

这次试了一下函数传字符串

#include<cstdio>
#include<cstdlib>
#include<cstring>
using namespace std;
const int N=15003;
char a[N];
int nx[N],len,k;

int work(char nw[],int n)
{
    int cnt=0;
    for(int i=1,j=0;i<n;i++)
    {
        while(j && nw[j+1]!=nw[i+1]) j=nx[j];
        if(nw[j+1]==nw[i+1]) j++;
        nx[i+1]=j;
        
        int pos=j;
        while(pos>=k && (pos<<1)>=i+1 ) pos=nx[pos];
        if(pos>=k) cnt++;
    }
    
    return cnt;
}

int main()
{
    scanf("%s%d",a+1,&k);
    len=strlen(a+1);
    
    int st=k<<1,ans=0;
    for(int i=st+1,j=0;i<=len;i++,j++)
        ans+=work(a+i-st-1,len-j);
    printf("%d\n",ans);
    
    return 0;
}  

3>OKR

 

 

 

 

【】

posted @ 2019-09-16 17:57  心若笺诗  阅读(178)  评论(0编辑  收藏  举报