hdu3068 Manacher --> find the longest palindrome
来源:互联网 发布:卧式加工中心编程方法 编辑:程序博客网 时间:2024/05/16 05:28
#include<bits/stdc++.h>using namespace std;char ss[250020];char s[250020];int p[250000];int main(){ while(scanf("%s",s)!=EOF){ memset(p,0,sizeof(p)); int i,j; int len = 0; ss[len++] = '$'; int ll = strlen(s); for(i=0;i<ll;i++){ ss[len++] = '#'; ss[len++] = s[i]; } int mx = 0; int id = 0; ss[len++] = '#'; ss[len] = '\0'; for(i=1;i<len;i++){ if(i<mx){ p[i] = min(mx-i,p[2*id-i]); }else{ p[i] = 1; } while(ss[i+p[i]]==ss[i-p[i]]){ p[i]++; } if(i+p[i]>mx){ mx = p[i]+i; id = i; } } cout<<*max_element(p,p+len)-1<<endl; } return 0;}
0 0
- hdu3068 Manacher --> find the longest palindrome
- {Manacher}hdu3068
- manacher hdu3068
- hdu3068(Manacher)
- hdu3068 最长回文 poj3974 Palindrome(Manacher算法)
- hdu3068 Manacher算法
- hdu3068(manacher算法)
- hdu3068(Manacher算法)
- 【HDU3068】最长回文【manacher】
- HDU3068 最长回文 manacher
- 【HDU3068】最长回文【Manacher】
- hdu3068 Manacher模板
- hdu3068 manacher算法模板
- 最长回文 hdu3068 manacher
- Manacher HDU3068 最长回文
- manacher算法&hdu3068
- hdu3068 manacher模版
- HDU3068[最长回文]--Manacher
- 求序列的最大连续加权值
- JAVA学习代码——输入邮箱判断正误
- JavaScript运动知识
- Colored Sticks(POJ 2513)
- GOF之静态代理模式
- hdu3068 Manacher --> find the longest palindrome
- JAVA中的反射机制
- Web应用跨域通信解决方案。
- MYSQL 语言C API的常用函数
- 一些列小感悟(一)--点击某个按钮交替触发两种状态的实现
- 文章标题
- 一些容易被问及的题目
- Program for Fibonacci numbers
- VMVirtualBox虚拟机下fedora24配置远程登陆