hiho 1032 最长回文子串
来源:互联网 发布:淘宝买的考研内部资料 编辑:程序博客网 时间:2024/05/11 00:53
样例输入
3abababaaaaabaaacacdas
样例输出
753
纯模板
#include <stdio.h>#include <string.h>#define min(x,y) ( x<y?x:y )#define max(x,y) ( x>y?x:y )const int MAXN=1100100;char Ma[MAXN*2];int Mp[MAXN*2];void Manacher(char s[],int len){ int l=0; Ma[l++]='$'; Ma[l++]='#'; for(int i=0;i<len;i++) { Ma[l++]=s[i]; Ma[l++]='#'; } Ma[l]=0; int mx=0,id=0; for(int i=0;i<l;i++) { Mp[i]=mx>i?min(Mp[2*id-i],mx-i):1; while(Ma[i+Mp[i]]==Ma[i-Mp[i]]) Mp[i]++; if(i+Mp[i]>mx) { mx=i+Mp[i]; id=i; } }}char s[MAXN];int main(){ int n; scanf("%d",&n); while(n--) { scanf("%s",s); int len=strlen(s); Manacher(s,len); int ans=0; for(int i=0;i<2*len+2;i++) ans=max(ans,Mp[i]-1); printf("%d\n",ans); } return 0;}
0 0
- hiho 1032 最长回文子串
- Hiho 1032 最长回文子串
- hiho-最长回文子串
- hiho一下第一周 Hihocoder #1032 : 最长回文子串
- HiHo 1032 最长回文子串 (Manacher算法求解)
- hiho一下第一周#1032 : 最长回文子串
- HiHo #1032 : 最长回文子串 【Manacher算法】
- (hiho一下第一周)#1032 最长回文子串
- hiho 第一周 最长回文子串
- 最长回文子串 - hiho一下
- hiho 1 最长回文子串
- hiho 1 最长回文子串
- hiho一下~week_1:最长回文子串
- hiho#10362 最长回文子串
- hiho#1032 : 最长回文子串 (manacher算法O(n)时间求字符串的最长回文子串 )
- 【hiho一下】第一周 最长回文子串
- hiho一下第一周:最长回文子串
- hiho一下第一周——最长回文子串
- HDU 1024 Max Sum Plus Plus(dp多段最大子序列和)*
- HDU 1233 还是畅通工程 (最小生成树 Kruskal)
- 移位运算实现加减乘除详解以及java源码实现
- vs 外部依赖项、附加依赖项以及如何添加依赖项目
- Selenium学习9--显示等待,判断页面元素是否存在
- hiho 1032 最长回文子串
- Mac Apache 配置与出现的问题
- linux 安装jdk
- ubuntu 12.04如何安装配置samba(windows访问ubuntu)
- 安卓自定义view之仿极客学院动态加载
- 数组中重复的数字
- Magenta源代码笔记(3) —— 内存管理
- 得到一个对象的方法与属性(重要)
- java 字节流和字符流的区别