Codeforces Beta Round #7, problem: (D) Palindrome Degree

来源:互联网 发布:新热血英豪mac 编辑:程序博客网 时间:2024/06/05 15:04
#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>__int64 dp[5000000+5];char s[5000000+5];using namespace std;int main(void){    __int64 ans=0,l=0,r=0,k=1;    scanf("%s",s);    for(int i=0;s[i];i++)    {        l=l*33+s[i]-'a';        r=r+(s[i]-'a')*k;        k=k*33;        if(l==r)            dp[i+1]=dp[(i+1)/2]+1;        ans+=dp[i+1];    }    cout<<ans<<endl;    return 0;}


原创粉丝点击