Codeforces Beta Round #7 D. Palindrome Degree —— hash
来源:互联网 发布:刀锋洗眼 知乎 编辑:程序博客网 时间:2024/05/17 01:53
题目链接:http://codeforces.com/contest/7/problem/D
String s of length n is called k-palindrome, if it is a palindrome itself, and its prefix and suffix of length are (k - 1)-palindromes. By definition, any string (even empty) is 0-palindrome.
Let's call the palindrome degree of string s such a maximum number k, for which s is k-palindrome. For example, "abaaba" has degree equals to 3.
You are given a string. Your task is to find the sum of the palindrome degrees of all its prefixes.
The first line of the input data contains a non-empty string, consisting of Latin letters and digits. The length of the string does not exceed 5·106. The string is case-sensitive.
Output the only number — the sum of the polindrome degrees of all the string's prefixes.
a2A
1
abacaba
6
代码如下:
#include<bits/stdc++.h>using namespace std;typedef long long LL;const double eps = 1e-6;const int INF = 2e9;const LL LNF = 9e18;const int mod = 1e9+7;const int maxn = 5e6+10;char s[maxn];int dp[maxn];int main(){ scanf("%s",s+1); int l = 0, r = 0, m = 1; for(int i = 1; s[i]; i++) { l = l*137+s[i]; r = r+s[i]*m, m *= 137; if(l==r) dp[i] = dp[i/2]+1; } int ans = 0; for(int i = 1; s[i]; i++) ans += dp[i]; printf("%d\n",ans);}
- Codeforces Beta Round #7 D. Palindrome Degree —— hash
- Codeforces Beta Round #7--D. Palindrome Degree(hash)
- Codeforces Beta Round #7 D. Palindrome Degree
- Codeforces Beta Round #7, problem: (D) Palindrome Degree
- Codeforces Beta Round #7--D. Palindrome Degree(Manacer)
- codeforces 7D Palindrome Degree 字符串hash
- CodeForces 7D Palindrome Degree 字符串hash
- Codeforces 7D Palindrome Degree 字符串hash DP
- CodeForces - 7D Palindrome Degree
- CodeForces 7D Palindrome Degree
- codeforces 7D Palindrome Degree
- [数据结构-hash]CF 7D Palindrome Degree
- CF 7D: Palindrome Degree
- Codeforce 7D Palindrome Degree
- Codeforces Beta Round #75 (Div. 2 Only)——D
- Codeforces Beta Round #93 D. Password——后缀自动机
- Codeforces Beta Round #5——D. Follow Traffic Rules
- Codeforces Beta Round #13 D —— Triangles 计算几何
- 【微信公众号开发】自我学习第七章:公众号自定义菜单栏
- 调试操作系统-bochs使用入门
- Java元组Tuple介绍与使用
- hellochart详细讲解(二)饼状图
- python基础_1
- Codeforces Beta Round #7 D. Palindrome Degree —— hash
- 浅谈Three.js源码-render之WebGLShader.js
- NuttX实时操作系统
- jboss容器,web整站https环境下使用(spring mvc)redirect重定向到http协议问题
- 剑指offer | 训练题51:正则表达式匹配
- MOS管
- 屏幕记录机BB FlashBack v5.26.0发布丨附下载
- 110. Balanced Binary Tree验证平衡二叉树
- Sublime Text-Snippet的使用