个人感觉,光看分值(即不关注把题做对,只关注部分分的难易程度),比往届都简单?
还有,本人T2有个复杂度玄学且大概率错误的做法,但是洛谷自测过了,有大佬帮忙分析复杂度吗?
#include<bits/stdc++.h>
using namespace std;
long long n,num[2000005],ans,tz[2000005];
char ch[2000005];
int main()
{
scanf("%lld%s",&n,ch+1);
for(long long i=2;i<=n;++i)
{
long long p=i-1,flag=0;
while(1)
{
if(ch[p]==ch[i])
{
++num[i],tz[i]=p,flag=1,num[i]+=num[p-1];break;
}
if(!tz[p]||p<2) break;
p=tz[p]-1;
}
ans+=num[i];
}
printf("%lld",ans);
return 0;
}