QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#128703 | #801. 回文自动机 | william555# | 0 | 2ms | 7772kb | C++14 | 903b | 2023-07-21 15:00:08 | 2023-07-21 15:17:25 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
const int N=1e6+5;
int n;
char s[N];
struct PAM{
int tot,lst,len[N],fa[N],ch[N][26],cnt[N];
inline int getfail(int i,int p){
while(s[i-len[p]-1]!=s[i])p=fa[p];
return p;
}
void insert(int i,int c){
int p=getfail(i,lst);
if(ch[p][c]){lst=ch[p][c];return;}
int np=++tot;lst=np;
fa[np]=ch[getfail(i,fa[p])][c];
ch[p][c]=np;len[np]=len[p]+2;
}
void build(int n,char *s){
len[0]=-1,tot=lst=1;
for(int i=1;i<=n;i++){
insert(i,s[i]-'a'),cnt[lst]++;
}
for(int i=tot;i>=1;i--)cnt[fa[i]]+=cnt[i];
long long ans=0;
for(int i=1;i<=tot;i++)ans=max(ans,1ll*cnt[i]*len[i]*len[i]);
cout<<ans<<endl;
}
}pam;
int main(){
scanf("%s",s+1);n=strlen(s+1);
pam.build(n,s);
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Subtask #1:
score: 0
Wrong Answer
Test #1:
score: 35
Accepted
time: 0ms
memory: 5684kb
input:
bdgedcfadbabbfgeacdgbggaefddebabbfgeacdgbefaecfddffeddacbabfcgecedacbffeddacbabfebadggfafabcdfdeaabdeecgbcecegcgecedacbfgdagbgagafdegecadfebcdbgfacdecdegecadfebbcdfdeaabdbfgcbccfcaebcecfdfccagdafaeaacbggaefddebcbecdafageeaabcbdafadcbecdbcgcbdgedcfadbcaefbdfcbgfcdeceddaaffgcedfcdcgdcgbfdddfdadgagbbef...
output:
5594
result:
ok answer is '5594'
Test #2:
score: 0
Accepted
time: 0ms
memory: 5808kb
input:
bdgfcbabegfbbbgecfbddbaceaefbebgeafdbbgaebebdabgebabacccebbaebeafbefaabdgfcbabegdbaceaefbegcaegagcdgcacccfbbfgffgcdgbccgecbdbcagbbcacccfbbfgeegfcaecbcebebdabgebbbebbgcfafbbbgbdbabgbabfgdfaggfbcbabeebbdaagacgbafecebfccdbgfacgcabefaaedadeacgdeegfcaecbcabacccebbacdbbdceeegcdbbdceeegbaccaecfbgbbebbgcfaf...
output:
7308
result:
ok answer is '7308'
Test #3:
score: 0
Accepted
time: 2ms
memory: 7580kb
input:
baeedcbgaeaabdcaeeagbeffgedegdfcggaeafeegccecbacaaaabdcaeeaggedcbbaebfbcbbbebeaeagedddgabgccdecfeegcababaddfcabcbbbebeaegabeddeedaaabebgcafgeefgeabcaafgcbcfaafgadddgdbccbcddfacfcgdeefgeabcaagbgbgdbefdcefcacafcagcfadegebcababaddfcaffbfgdfecefgafcfgddbagfgceabefcaaebagddabcbbbebeaedaddaacgfcabeffgfgeg...
output:
6011
result:
ok answer is '6011'
Test #4:
score: 0
Accepted
time: 2ms
memory: 5852kb
input:
fadabcedabffccgceafdfgebfgebdfffccgceafdfbabeebbccbcebdaabagbdcabbebbgbbdddddcfdfefcfgcaedcdfbfcgagggeacabgddfdggddgcgagfefgeafdaefefgeafdaefbabeebbccabccadccgcbbdddddcfdfadabcedabgbdegbcgdecfcefaedcffadabcedabadgbbacdfbfecccfacaaggggffddffffbcgacfgbcbeadagbfffefcfgcaedgeacabgddfgbcccdcgegbdcabbebbg...
output:
5874
result:
ok answer is '5874'
Test #5:
score: 0
Accepted
time: 0ms
memory: 7656kb
input:
efggbbfcabcdfbceagadfagaeegbegcbfbcfcgfbgdfffcdeagfcggffcacbbadedceffedbgafcbegdggabccbcecfcbfegdcbecdedfdeebebecffcaafgffabgbgedfcdabgbeffaagbffcdccaddcadgbbcadedgcfbgbdefggbbfcabddccdefedagebfbbfadfagagedffaagabcgbcffaggfebdbefdcfecegaeggggdacedbgfcdedfdeebececbfefeegdebddaeafbffabgbgedfcfcdgcaacc...
output:
5751
result:
ok answer is '5751'
Test #6:
score: 0
Accepted
time: 2ms
memory: 7656kb
input:
eafdccagcbcaeebabcggdgdfcdfgeacbgcdfbgcabdegdbbaabgecbaaagffecffedeffcedcdgcecbgfedbdgabfdcbefcecdfdfaegccbfeefdccgfbfebecffedeffcbdegdbbaabeafcbegcbagecbaaagffefcdafgageffefbcceecdffabcbbdbefcdafgageedcdgcecbgcaeebabcggfbeegdaccfdffabcbbdbcbefcecdfdcdccfcbadcecffedeffcdcgaagfaegddecgffafcdgdfcdfgea...
output:
6156
result:
ok answer is '6156'
Test #7:
score: 0
Accepted
time: 0ms
memory: 5860kb
input:
aecedcggbddbeeadcfbcaebcdceeegbcbaegcecbfefbbgbcfgegbdaggeebdfebbaeddgffdgfedegbaecedcggbdbbddadfageebfadbbegbaaaffddbdacdgbgbdggfgebaaebcfceefgaedacdeeecaccecgdcbafafccffdaedbbegagecfcdbbacceafeaabbefccgbgceeabcbaegcecbdfgacggffbdcbafafccfbfccfbgggadddddacbfeeebgdaddagcdgbgbdggffdaedbbegabcbaegcecb...
output:
5662
result:
ok answer is '5662'
Test #8:
score: 0
Accepted
time: 2ms
memory: 5664kb
input:
aaffagaebeecbgagbccbafgceadgeebdgffeceacbgcbebggfdbgcbebggfdadgceeggefaaffagaebeegfafdeeecaaffagaebebgaabbebcaaaaceagaabcabddacfebbfbefagdbcdaggeggcfagdgfddegcabcddaefcdcaaaceagaabecbgagbccbaaffagaebegbagabfddcbdgffeceacccafcbcdcagcebbbgfggbfbefagdbcgddcdaadafgcebbbgfggccafcbcdcaafgceadgeebfbgbbddeb...
output:
6006
result:
ok answer is '6006'
Test #9:
score: 0
Accepted
time: 0ms
memory: 7564kb
input:
bfbbfccggagbeddgdcbdfecaedcedefgfeaabdcaebabegdgdebbddaefebgcefgfcagdbgccacgdbcdadbeafcedeffbeccebabacedebabagadfgbdcaeaadbacgdfbgabgdbafeadgbfbecfccbfgeecabgfafacefbgbcebbddaefebgadbacgdfbgdagefcefgeddgagggedefgafgdbgacffbeccebabgbeebbdafegbeddgdcbdcefgfcagdbacafdggbacccebfdcddgadbeafcedecefgfcagdb...
output:
5966
result:
ok answer is '5966'
Test #10:
score: 0
Accepted
time: 2ms
memory: 5576kb
input:
gbegegfcdbbdagefbgadbfafadedacdbbffcbagfcgebcbbeabedbedegbdbebfcbcbffddeadadffffadccgfebbadbdcdfecbadbfbfeaefadfdgfeaebfcbgdbfbcfebdagefbgadedgaeecegbeaffcddaggcafcddaffccafcddaffcgfdegffaaeggadabffaddbaebcffcadbaebcffcabfafadedacdabgaccfdedbfbfeaefadeadadffffeaffeffaffdbbffcbagfcbbaebfbfgebfcbcbffd...
output:
5997
result:
ok answer is '5997'
Test #11:
score: 0
Accepted
time: 1ms
memory: 7556kb
input:
cihgfkaabfcjeehlggeihjadhfkjdfegfiibdidefcdehjgkkhjfldaeelddklklgjdkbeidjahlkjligjdhjffddfljlbejibdgllkddjcccddajbkfjkfkecegichgklaeccfcgjidfkgckhafjeabajihcchghkchjfjkkbeeajcghaillghbcidglkcldfkkkegjdgcjfecjbaekhcadlfefcgagjdgebkgafagdeijfkgcebkkefbblkdlajccehgiidfahkfblfjafgikaacjfddalheeelcjifafk...
output:
3028
result:
ok answer is '3028'
Test #12:
score: 0
Accepted
time: 2ms
memory: 7700kb
input:
xbqpbhaecvtkxghbvkmwarwpsrjwhgqnojrdskecifmlbcbctlolyjdswhhclojnnfcynqqfvcchkuehqxgbuaqsnwotkfskrnmkwoonkhcvwwmplrxlfjvaepipcegcekikifaxpqclhwmstfifhnawojfngbphtfftcewckdeseoxnfwdtymodyqlewkbcjwtyufrevupfapglxllumkvspbebirrytpcmodoncourbanwyylnwugxujjtdwgyjipayvmgucnqnrpwqplwpdsocasjykituacpagydmymp...
output:
1481
result:
ok answer is '1481'
Test #13:
score: 0
Accepted
time: 2ms
memory: 7772kb
input:
tobdfhlrhrypwivkkpiugptzudfkxlxkprusxvwlhwqinpfwdxelgpgrfkmkjfoovtwrinkdpehykvkksgswkikxbowttkqdpkvevjbrigecweqaehejnugxnukpqcueewuazbzfbijnvrqlimbipyeyxhszbdqeduibykofvyqbhgxecowsrrqzpboxzafxinkqtxgcavjiezzjoqweqtupcxgjtxgxxzanmwamwhpzyxqxgouhgnkvqglgunyqnawrwlqpxhtdscimoedcwpuwbqhiygbfoshwjkvquisd...
output:
1437
result:
ok answer is '1437'
Test #14:
score: 0
Accepted
time: 1ms
memory: 5552kb
input:
epkkjklkmnmgajmqaqfdepfdlhockegkcpekmdmfaphqmqpqopjhngpblcephamlqmekfnqjoknnkmbodonbfkmobeddbmplkallmeqipgdimpiqfeficqknaeapllechkpdamdpeoanqoghnlhfggaihfnppbmfdnjcokjfakladhdmdiejcecaheilbeoebgfgcfjlngiphlqeemgopopmonfcccpjhleijllfngdomcqhkfcidmkgqqgoqegikioaoodkokhaklaihlenckifchcjoibffdjqflgqfmdo...
output:
2190
result:
ok answer is '2190'
Test #15:
score: -35
Wrong Answer
time: 2ms
memory: 5900kb
input:
acbabbcbaacacabcbabcaaacaabcaaabccbabcbcaaaabbcabaaabbacbcaaabcccbaaccbbcabbaaababccbbacacbabaaacbacbcabcbbcbabccccccbbaacacbcacacabbbbbbcbcaaacbcbacccaabbbabbbcabccbabaabcbccbacccccbabbbbbbaaccaabbccccbabbcaccbaccaaababbcaaabcbaaacbbaccbbcbacbccacabbccacbbacbabbcabcbbaccaabbccbcbbcbccabcbccabbbabcb...
output:
12339
result:
wrong answer expected '15924', found '12339'
Subtask #2:
score: 0
Skipped
Dependency #1:
0%