最长回文字串Manacher 算法
来源:互联网 发布:广州多迪网络要交钱吗 编辑:程序博客网 时间:2024/05/17 15:03
#include <bits/stdc++.h>using namespace std;typedef long long ll;const int maxn=1e6+5;char s[maxn*2],str[maxn];int a[maxn*2];int main(){ int t,n,i,maxst,maxrd,ans; scanf("%d",&t); while(t--&&scanf("%s",str+1)!=EOF) { ans=maxst=maxrd=1; for(i=n=1;str[i];i++) { s[n++]='#'; s[n++]=str[i]; } s[n]='#'; for(i=0;i<=n;i++) { if(i<maxrd) a[i]=min(maxrd-i+1,a[maxst*2-i]); else a[i]=1; while(s[i-a[i]]==s[i+a[i]]) a[i]++; if(a[i]+i-1>maxrd) { maxst=i; maxrd=a[i]+i-1; } ans=max(ans,a[i]-1); } printf("%d\n",ans); } return 0;}
阅读全文
0 0
- 最长回文字串-manacher算法
- 最长回文字串(Manacher算法)
- 最长回文字串--Manacher算法
- 最长回文字串--MANACHER算法
- 最长回文字串Manacher 算法
- Manacher算法 求最长回文字串
- Manacher算法求最长回文字串
- 最长回文字串——Manacher算法
- manacher算法求解最长回文字串
- HDU 3068 最长回文(manacher算法:回文字串)
- poj_1974,最长回文字串manacher
- 最长回文字串-Manacher解法
- 算法练习 - 最长回文字串(Manacher 算法学习)
- POJ 3974 最长回文字串(manacher算法)
- 51nod 1089 最长回文字串V2(Manacher算法)
- 最长回文字串 Manacher算法 时间复杂度O(N)
- MANACHER最长回文算法
- 个人模板 Manacher求最长回文字串
- ios-modal出来的控制器出现的问题
- 1. Java简介
- Zookeeper监听存活节点
- HDU-5833 Zhu and 772002(异或方程高斯消元)
- Maven下SSM框架搭建-上
- 最长回文字串Manacher 算法
- Markdown 语法之插入图片篇
- GIT使用错误总结
- HDU 4465 Candy 概率期望值的对数优化
- web信息搜索之搜索引擎篇
- bzoj 3173: [Tjoi2013]最长上升子序列(离线二分+树状数组)
- Java Web过滤器笔记
- NDK 开发随笔(一)
- js实现星级评分(第二种实现方式)