关于第一篇题解
查看原帖
关于第一篇题解
172370
fzj2007楼主2022/7/12 16:27

RT,这篇题解貌似写的有问题。

具体问题大概出在求 kmp\text{kmp} 数组的时候。

for(int i=1;i<=n;i++){
			next[i][i]=0;
			for(int j=i+1,v=0;j<=n;j++){
				while(v && str[j] != str[i+v])v=next[i][v];//这里应该是next[i+v-1]
				if(str[j]==str[i+v])v++;
				next[i][j]=v;
			}
		}

hack数据:

abbabbb

题解输出 33,正确答案应为 22,方式为:

  1. 将两个 abbabb 缩起来,形成 abbbabbb
  2. 将后面那一堆 bb 缩起来,形成 abab
2022/7/12 16:27
加载中...