POJ 3974 Manacher算法(模板)
2024-10-01 14:09:20
Manacher模板题
//By SiriusRen
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
#define N 2005000
int l,mx,p[N],id,ans,cases;
char a[N],b[N];
int main(){
while(scanf("%s",a+1)&&strcmp(a+1,"END")){
l=strlen(a+1);
for(int i=1;i<=l;i++)b[i<<1]=a[i],b[i*2-1]='#';
b[0]='&',b[l*2+2]='$',b[l<<1|1]='#';
for(int i=1;i<=l*2+2;i++){
if(mx>i)p[i]=min(p[id*2-i],p[id]+id-i);
else p[i]=1;
while(b[i-p[i]]==b[i+p[i]])p[i]++;
if(i+p[i]>mx)mx=i+p[i],id=i;
ans=max(ans,p[i]);
}
printf("Case %d: %d\n",++cases,ans-1);
memset(p,0,sizeof(p)),mx=id=ans=0;
}
}
最新文章
- BZOJ 3527: [Zjoi2014]力
- easyUI在IE浏览器中列表不显示
- oracle11g RAC1执行脚本结果
- 不需要写代码,文件夹右键cmd定位指定目录
- Linux 信号详解四(pause,alarm)
- C++ 序列式容器之vector
- [PointCloud] GICP
- C#类的继承相关总结
- struts2标签获取parameter,request,session,application中的值
- Android SeekBar实现音量调节
- 让你的java开发变得如此 Smart
- spring 整合 shiro框架
- js字符串转日期兼容性
- 什么情况下,会用到fiddler或者charles?
- Intelli系列代理部分报错:You have JVM property https.proxyHost set..
- hdfs 机架感知
- 解决mac更新系统后git无法使用
- Visual Studio 编译信息细度显示设置
- pipreqs
- 【maven】---pom.xml-dependencies