QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#45345 | #801. 回文自动机 | leukocyte# | 0 | 4ms | 12032kb | C++17 | 839b | 2022-08-22 22:00:18 | 2022-08-22 22:00:19 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
const int N=1e6;
int n;
char s[N+5];
namespace PAM{
int tot;
int ch[N+5][26],len[N+5],lk[N+5];
int sz[N+5];
void prep(){ len[lk[tot=1]=0]=-1; }
int find(int p,int r){
while(s[r]!=s[r-len[p]-1]) p=lk[p];
return p;
}
int extend(int p,int r){
int c=s[r]-'a';
p=find(p,r);
if(!ch[p][c]){
int x=ch[p][c]=++tot;
len[x]=len[p]+2;
if(len[x]==1) lk[x]=0;
else lk[x]=ch[find(lk[p],r)][c];
}
p=ch[p][c]; sz[p]++;
return p;
}
void calc(){
for(int i=tot;i;i--) sz[lk[i]]+=sz[i];
}
}
using namespace PAM;
int main(){
prep();
scanf("%s",s+1); n=strlen(s+1);
for(int i=1,p=0;i<=n;i++) p=extend(p,i);
calc();
long long ans=0;
for(int i=2;i<=tot;i++) ans=max(ans,1ll*len[i]*len[i]*sz[i]);
printf("%lld\n",ans);
return 0;
}
詳細信息
Subtask #1:
score: 0
Wrong Answer
Test #1:
score: 35
Accepted
time: 4ms
memory: 11988kb
input:
bdgedcfadbabbfgeacdgbggaefddebabbfgeacdgbefaecfddffeddacbabfcgecedacbffeddacbabfebadggfafabcdfdeaabdeecgbcecegcgecedacbfgdagbgagafdegecadfebcdbgfacdecdegecadfebbcdfdeaabdbfgcbccfcaebcecfdfccagdafaeaacbggaefddebcbecdafageeaabcbdafadcbecdbcgcbdgedcfadbcaefbdfcbgfcdeceddaaffgcedfcdcgdcgbfdddfdadgagbbef...
output:
5594
result:
ok answer is '5594'
Test #2:
score: 0
Accepted
time: 4ms
memory: 10012kb
input:
bdgfcbabegfbbbgecfbddbaceaefbebgeafdbbgaebebdabgebabacccebbaebeafbefaabdgfcbabegdbaceaefbegcaegagcdgcacccfbbfgffgcdgbccgecbdbcagbbcacccfbbfgeegfcaecbcebebdabgebbbebbgcfafbbbgbdbabgbabfgdfaggfbcbabeebbdaagacgbafecebfccdbgfacgcabefaaedadeacgdeegfcaecbcabacccebbacdbbdceeegcdbbdceeegbaccaecfbgbbebbgcfaf...
output:
7308
result:
ok answer is '7308'
Test #3:
score: 0
Accepted
time: 2ms
memory: 10024kb
input:
baeedcbgaeaabdcaeeagbeffgedegdfcggaeafeegccecbacaaaabdcaeeaggedcbbaebfbcbbbebeaeagedddgabgccdecfeegcababaddfcabcbbbebeaegabeddeedaaabebgcafgeefgeabcaafgcbcfaafgadddgdbccbcddfacfcgdeefgeabcaagbgbgdbefdcefcacafcagcfadegebcababaddfcaffbfgdfecefgafcfgddbagfgceabefcaaebagddabcbbbebeaedaddaacgfcabeffgfgeg...
output:
6011
result:
ok answer is '6011'
Test #4:
score: 0
Accepted
time: 1ms
memory: 12032kb
input:
fadabcedabffccgceafdfgebfgebdfffccgceafdfbabeebbccbcebdaabagbdcabbebbgbbdddddcfdfefcfgcaedcdfbfcgagggeacabgddfdggddgcgagfefgeafdaefefgeafdaefbabeebbccabccadccgcbbdddddcfdfadabcedabgbdegbcgdecfcefaedcffadabcedabadgbbacdfbfecccfacaaggggffddffffbcgacfgbcbeadagbfffefcfgcaedgeacabgddfgbcccdcgegbdcabbebbg...
output:
5874
result:
ok answer is '5874'
Test #5:
score: 0
Accepted
time: 4ms
memory: 10012kb
input:
efggbbfcabcdfbceagadfagaeegbegcbfbcfcgfbgdfffcdeagfcggffcacbbadedceffedbgafcbegdggabccbcecfcbfegdcbecdedfdeebebecffcaafgffabgbgedfcdabgbeffaagbffcdccaddcadgbbcadedgcfbgbdefggbbfcabddccdefedagebfbbfadfagagedffaagabcgbcffaggfebdbefdcfecegaeggggdacedbgfcdedfdeebececbfefeegdebddaeafbffabgbgedfcfcdgcaacc...
output:
5751
result:
ok answer is '5751'
Test #6:
score: 0
Accepted
time: 3ms
memory: 11932kb
input:
eafdccagcbcaeebabcggdgdfcdfgeacbgcdfbgcabdegdbbaabgecbaaagffecffedeffcedcdgcecbgfedbdgabfdcbefcecdfdfaegccbfeefdccgfbfebecffedeffcbdegdbbaabeafcbegcbagecbaaagffefcdafgageffefbcceecdffabcbbdbefcdafgageedcdgcecbgcaeebabcggfbeegdaccfdffabcbbdbcbefcecdfdcdccfcbadcecffedeffcdcgaagfaegddecgffafcdgdfcdfgea...
output:
6156
result:
ok answer is '6156'
Test #7:
score: 0
Accepted
time: 0ms
memory: 9904kb
input:
aecedcggbddbeeadcfbcaebcdceeegbcbaegcecbfefbbgbcfgegbdaggeebdfebbaeddgffdgfedegbaecedcggbdbbddadfageebfadbbegbaaaffddbdacdgbgbdggfgebaaebcfceefgaedacdeeecaccecgdcbafafccffdaedbbegagecfcdbbacceafeaabbefccgbgceeabcbaegcecbdfgacggffbdcbafafccfbfccfbgggadddddacbfeeebgdaddagcdgbgbdggffdaedbbegabcbaegcecb...
output:
5662
result:
ok answer is '5662'
Test #8:
score: 0
Accepted
time: 3ms
memory: 9928kb
input:
aaffagaebeecbgagbccbafgceadgeebdgffeceacbgcbebggfdbgcbebggfdadgceeggefaaffagaebeegfafdeeecaaffagaebebgaabbebcaaaaceagaabcabddacfebbfbefagdbcdaggeggcfagdgfddegcabcddaefcdcaaaceagaabecbgagbccbaaffagaebegbagabfddcbdgffeceacccafcbcdcagcebbbgfggbfbefagdbcgddcdaadafgcebbbgfggccafcbcdcaafgceadgeebfbgbbddeb...
output:
6006
result:
ok answer is '6006'
Test #9:
score: 0
Accepted
time: 0ms
memory: 9972kb
input:
bfbbfccggagbeddgdcbdfecaedcedefgfeaabdcaebabegdgdebbddaefebgcefgfcagdbgccacgdbcdadbeafcedeffbeccebabacedebabagadfgbdcaeaadbacgdfbgabgdbafeadgbfbecfccbfgeecabgfafacefbgbcebbddaefebgadbacgdfbgdagefcefgeddgagggedefgafgdbgacffbeccebabgbeebbdafegbeddgdcbdcefgfcagdbacafdggbacccebfdcddgadbeafcedecefgfcagdb...
output:
5966
result:
ok answer is '5966'
Test #10:
score: 0
Accepted
time: 1ms
memory: 11940kb
input:
gbegegfcdbbdagefbgadbfafadedacdbbffcbagfcgebcbbeabedbedegbdbebfcbcbffddeadadffffadccgfebbadbdcdfecbadbfbfeaefadfdgfeaebfcbgdbfbcfebdagefbgadedgaeecegbeaffcddaggcafcddaffccafcddaffcgfdegffaaeggadabffaddbaebcffcadbaebcffcabfafadedacdabgaccfdedbfbfeaefadeadadffffeaffeffaffdbbffcbagfcbbaebfbfgebfcbcbffd...
output:
5997
result:
ok answer is '5997'
Test #11:
score: 0
Accepted
time: 2ms
memory: 11916kb
input:
cihgfkaabfcjeehlggeihjadhfkjdfegfiibdidefcdehjgkkhjfldaeelddklklgjdkbeidjahlkjligjdhjffddfljlbejibdgllkddjcccddajbkfjkfkecegichgklaeccfcgjidfkgckhafjeabajihcchghkchjfjkkbeeajcghaillghbcidglkcldfkkkegjdgcjfecjbaekhcadlfefcgagjdgebkgafagdeijfkgcebkkefbblkdlajccehgiidfahkfblfjafgikaacjfddalheeelcjifafk...
output:
3028
result:
ok answer is '3028'
Test #12:
score: 0
Accepted
time: 3ms
memory: 9916kb
input:
xbqpbhaecvtkxghbvkmwarwpsrjwhgqnojrdskecifmlbcbctlolyjdswhhclojnnfcynqqfvcchkuehqxgbuaqsnwotkfskrnmkwoonkhcvwwmplrxlfjvaepipcegcekikifaxpqclhwmstfifhnawojfngbphtfftcewckdeseoxnfwdtymodyqlewkbcjwtyufrevupfapglxllumkvspbebirrytpcmodoncourbanwyylnwugxujjtdwgyjipayvmgucnqnrpwqplwpdsocasjykituacpagydmymp...
output:
1481
result:
ok answer is '1481'
Test #13:
score: 0
Accepted
time: 1ms
memory: 9948kb
input:
tobdfhlrhrypwivkkpiugptzudfkxlxkprusxvwlhwqinpfwdxelgpgrfkmkjfoovtwrinkdpehykvkksgswkikxbowttkqdpkvevjbrigecweqaehejnugxnukpqcueewuazbzfbijnvrqlimbipyeyxhszbdqeduibykofvyqbhgxecowsrrqzpboxzafxinkqtxgcavjiezzjoqweqtupcxgjtxgxxzanmwamwhpzyxqxgouhgnkvqglgunyqnawrwlqpxhtdscimoedcwpuwbqhiygbfoshwjkvquisd...
output:
1437
result:
ok answer is '1437'
Test #14:
score: 0
Accepted
time: 2ms
memory: 9976kb
input:
epkkjklkmnmgajmqaqfdepfdlhockegkcpekmdmfaphqmqpqopjhngpblcephamlqmekfnqjoknnkmbodonbfkmobeddbmplkallmeqipgdimpiqfeficqknaeapllechkpdamdpeoanqoghnlhfggaihfnppbmfdnjcokjfakladhdmdiejcecaheilbeoebgfgcfjlngiphlqeemgopopmonfcccpjhleijllfngdomcqhkfcidmkgqqgoqegikioaoodkokhaklaihlenckifchcjoibffdjqflgqfmdo...
output:
2190
result:
ok answer is '2190'
Test #15:
score: -35
Wrong Answer
time: 4ms
memory: 11956kb
input:
acbabbcbaacacabcbabcaaacaabcaaabccbabcbcaaaabbcabaaabbacbcaaabcccbaaccbbcabbaaababccbbacacbabaaacbacbcabcbbcbabccccccbbaacacbcacacabbbbbbcbcaaacbcbacccaabbbabbbcabccbabaabcbccbacccccbabbbbbbaaccaabbccccbabbcaccbaccaaababbcaaabcbaaacbbaccbbcbacbccacabbccacbbacbabbcabcbbaccaabbccbcbbcbccabcbccabbbabcb...
output:
12339
result:
wrong answer expected '15924', found '12339'
Subtask #2:
score: 0
Skipped
Dependency #1:
0%