hdu3068 最长回文
来源:互联网 发布:在哪里下c语言编程软件 编辑:程序博客网 时间:2024/05/21 16:01
Manacher好久没写了,都忘了。。。。。
#include <cstdio>#include <iostream>#include <algorithm>#include <cstring>#include <cmath>#include <queue>#include <vector>using namespace std;#define N 120010int n,T,Ans;int p[N*2];char S[N*2],S1[N*2];void Search(int i){ while(S[i-p[i]]==S[i+p[i]]) p[i]++;}void Manacher(){ int x=1,m=0; for(int i=1;i<=n;i++) { p[i]=1; if(m>=i) p[i]=min(m-i,p[2*x-i]); Search(i); Ans=max(Ans,p[i]-1); if(m<i+p[i]-1) m=i+p[i]-1,x=i; }}int main(){ while(scanf("%s",S1+1)!=EOF) { int len=(int)strlen(S1+1); n=0; for(int i=1;i<=len;i++) S[++n]='#',S[++n]=S1[i]; S[++n]='#'; S[0]='$'; Ans=1;Manacher(); printf("%d\n",Ans); } return 0;}
0 0
- HDU3068 最长回文
- hdu3068 最长回文
- hdu3068 最长回文串
- hdu3068---最长回文
- 【HDU3068】最长回文【manacher】
- HDU3068 最长回文
- HDU3068 最长回文 manacher
- HDU3068最长回文
- hdu3068 最长回文
- 【HDU3068】最长回文【Manacher】
- HDU3068 最长回文
- 【HDU3068】最长回文
- hdu3068 最长回文
- HDU3068 最长回文
- hdu3068 最长回文
- hdu3068 . 最长回文
- 最长回文 hdu3068 manacher
- 【HDU3068】【模板】最长回文
- jQuery-Mobile学习(按钮)
- Win8+VS2010环境下配置OpenGL
- MYSql使用小技巧总结
- 20160107 黑色星期四!A股诱发全球“地震”,股市重挫油价暴跌5%
- Java中hashCode的作用
- hdu3068 最长回文
- JavaSE之异常
- 关于startService 与 bindservice的混用
- 【Modern OpenGL】复习 Review
- Vector 的使用(C++)
- 小米刷机 MiPhone软件下载
- 用3.0实现飞机大战——接入万普广告
- tongwangduan
- Android数据存储---SharedPreferences详解及应用