Ural 2040 Palindromes and Super Abilities 2

Posted 小小AI,请多多提携

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ural 2040 Palindromes and Super Abilities 2相关的知识,希望对你有一定的参考价值。

题目太坑,发一波纪念一下

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 typedef long long ll;
 4 const int N=5000010;
 5 struct PAM{
 6     int cnt,last;
 7     int a[N][2],l[N],f[N];
 8     char s[N];
 9     PAM(){
10         cnt=f[0]=f[1]=1;
11         l[1]=-1;
12     }
13     int get_fail(int x,int loc){
14         while(s[loc-l[x]-1]!=s[loc])x=f[x];
15         return x;
16     }
17     void insert(int c,int loc){
18         int p=get_fail(last,loc);
19         if(!a[p][c]){
20             int now=++cnt,k=get_fail(f[p],loc);
21             l[now]=l[p]+2;
22             f[now]=a[k][c];a[p][c]=now;
23         }
24         last=a[p][c];
25     }
26 }P;
27 char fuck[N];
28 int main(){
29     scanf("%s",P.s);
30     int n=strlen(P.s);
31     for(int i=0;i<n;++i){
32         int ls=P.cnt;
33         P.insert(P.s[i]-a,i);
34         fuck[i]=(P.cnt-ls?1:0)+0;
35     }
36     puts(fuck);
37     return 0;
38 }

 

以上是关于Ural 2040 Palindromes and Super Abilities 2的主要内容,如果未能解决你的问题,请参考以下文章

Codeforces Round #316 (Div. 2)E. Pig and Palindromes DP

CF 316div2 E.Pig and Palindromes

CF570E Pig and Palindromes

Ural2102:Michael and Cryptography

ural 2016 Magic and Science

ural 2063. Black and White