求hack,我这个做法应该是错解,但能得80分
查看原帖
求hack,我这个做法应该是错解,但能得80分
1112954
lsc72楼主2024/7/30 20:21
#include<bits/stdc++.h>
using namespace std;
long long k,nest[2000010];
int main(){
	ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
	cin>>k;
	string s;
	cin>>s;
	nest[1]=0;
	for (int i=2;i<=s.size();i++){
		int p=i-1;
		while (p&&s[i-1]!=s[i-1-p]) p=nest[p];
		nest[i]=p;
	}
	long long ans=0;
	for (int i=1;i<=s.size();i++) ans+=nest[i];
	cout<<ans;
	return 0;
}

这边判断p>=i/2,加不加结果都一样。 提交记录https://www.luogu.com.cn/record/169552613

2024/7/30 20:21
加载中...