hdu3068 最长回文 马拉车模板题
2024-10-22 02:41:01
马拉车算法模板题。
#include<bits/stdc++.h>
#define clr(a,b) memset(a,b,sizeof(a))
using namespace std;
typedef long long ll;
const int maxn=;
char s[maxn<<],ne[maxn<<];
int p[maxn<<],mx,maxx;
int init(){
int len=strlen(s),j=;
ne[]='$';
ne[]='#';
j=;
for(int i=;i<len;i++)
{
ne[j++]=s[i];
ne[j++]='#';
}
ne[j]='\0';
return j;
}
int Manacher(){
int len=init();
int id;
mx=;
for(int i=;i<=len;i++)
{
if(i<mx){
p[i]=min(p[*id-i],mx-i);
}else p[i]=;
while(ne[i-p[i]]==ne[i+p[i]])p[i]++;
if(mx<i+p[i]){
mx=i+p[i];
id=i;
}
maxx=max(maxx,p[i]);
}
return maxx;
}
int main(){
while(scanf("%s",s)!=EOF){
maxx=;
Manacher();
cout<<maxx-<<endl;
}
}
最新文章
- 转:聊聊mavenCenter和JCenter
- 使用jstack分析cpu消耗过高的问题
- C#二维数组
- js动态生成input指定My97DatePicker时间问题
- 给MySQL官方提交的bug report备忘
- 无法打开SQL Server的连接
- 深入了解java同步、锁紧机构
- php 模式
- 3分钟带你了解PowerShell发展历程——PowerShell各版本资料整理
- js中防止全局变量被污染的方法
- 实战-Mysql5.6.36脚本编译安装及初始化
- Mysql取随机数据效率测试(400W条中读取100条)
- StringBuffer 和 StringBuilder 的 3 个区别
- haproxy负载均衡的安装配置
- 采用Extjs MVVM + ThinkPHP 架构开发的思考
- IDEA下利用Jrebel插件实现JFinal项目main方法【热加载】
- spring集成kafka
- [转]【MyBatis】Decimal映射到实体类出现科学计数法问题
- delphi WebBrowser的使用方法详解(三)
- python之列表【list】