求助!编译错误不知道原因
  • 板块灌水区
  • 楼主Secret_Sky_2021
  • 当前回复8
  • 已保存回复8
  • 发布时间2023/8/12 16:12
  • 上次更新2023/11/3 04:16:07
查看原帖
求助!编译错误不知道原因
601270
Secret_Sky_2021楼主2023/8/12 16:12
#include<iostream>
#include<cstring>
using namespace std;
const int N=110010;
string s,b;
int l[N];
int k=0,r=0,j=0,n=0,ans=0;
void gets(){
	b="";
	b[0]='@';
	int i=0,pos=1;
	for(;i<n;i+=1,pos+=2){
		b[pos]=s[i];
		b[pos+1]='#';
	}
	b[pos-1]='%';
	n=pos-1 ;
}
int main(){
	while(cin>>s){
		memset(l,0,sizeof(l));
		if(s.size()==0) continue;
		k=0,r=0,j=0,n=s.size(),ans=0;
		gets();
		for(int i=1;i<n;i++){
			if(i<r) l[i]=min(l[2*k-i],r-i);
			else l[i]=1;
			while(b[i-l[i]]==b[i+l[i]]) l[i]++;
			if(i+l[i]>r) k=i,r=i+l[i];
			ans=max(ans,l[i]);
		}
		cout<<ans<<endl;
	}
	return 0;
}
/*
aaaa

abab
*/

普普通通的一个马拉车模版

2023/8/12 16:12
加载中...