[kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher K (kmp扩展)

https://vjudge.net/contest/70325#problem/K  HDU 3336

题意:求字符串所有前缀在原串出现的次数

思路:对自己求extend数组,遍历一遍相加就是结果.

#include 
#include 
#include 
using namespace std;
const int maxn=200000+5;
char mode[maxn];
int nextt[maxn];
void getNext(char mode[],int nextt[],int modeLen)
{
	int i,a,p;
	a=p=0;nextt[0]=modeLen;
	for(i=1;i=p || i+nextt[i-a]>=p)
		{
			if(i>=p) p=i;
			while(p


你可能感兴趣的:([kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher K (kmp扩展))