第6-7点是n<=800,但是却RE了
蒟蒻n^3代码:
#include<bits/stdc++.h>
using namespace std;
long long n,ans,l,r;
string s1,s;
bool flag[8000][8000];
int main(){
cin>>n;
cin>>s1;
for(int i=1;i<=n;i++){
s[i]=s1[i-1];
}
for(int i=1;i<n;i++) if(s[i]==s[i+1]) flag[i][i+1]=1,ans++;
for(int len=4;len<=n;len+=2){
for(l=1;l+len-1<=n;l++){
r=l+len-1;
if(s[l]==s[r]&&flag[l+1][r-1]){
ans++;
flag[l][r]=1;
continue;
}
for(int k=l;k<r;k++){
if(flag[l][k]&&flag[k+1][r]){
flag[l][r]=1;
ans++;
break;
}
}
}
}
cout<<ans;
return 0;
}