HDU 3068 最长回文
来源:互联网 发布:js倒计时10秒代码 编辑:程序博客网 时间:2024/06/09 18:13
学了一发manachar,做个模板题
manachar的思想就是利用已有回文串辅助目前回文串
话说为什么我做完这题之后HDU就炸了
#include<cstdio>#include<cstring>#include<algorithm>using namespace std; char t[110010], s[110010*2];int n, p[110010*2];int Manacher(){ int mx=0,id=0,re=0; for(int i = 1; i <= n; i++) { if(mx>i) p[i]=min(p[2*id-i],mx-i); else p[i]=1; while(s[i+p[i]]==s[i-p[i]])p[i]++; if(i+p[i]>mx) { mx=i+p[i]; id=i; } re=max(re,p[i]-1); } return re;}int main(){ while(scanf("%s",t)==1) { n = strlen(t)-1; memset(s,0,sizeof(s)); s[0]='$'; s[1]='#'; for(int i = 0; i <= n; i++) { s[(i+1)*2+1]='#'; s[(i+1)*2]=t[i]; } n=2*n+1; int ans=Manacher(); printf("%d\n",ans); } return 0;}
1 0
- HDU 3068 ( 最长回文 )
- HDU-3068 最长回文
- hdu 3068 最长回文
- Hdu 3068 最长回文
- HDU 3068 最长回文
- HDU-3068-最长回文
- hdu-最长回文-3068
- hdu 3068 最长回文
- 【HDU】3068 最长回文
- hdu 3068 最长回文
- HDU 3068 最长回文
- hdu 3068 最长回文
- hdu 3068 最长回文
- hdu-3068-最长回文
- HDU 3068 最长回文
- HDU 3068 最长回文
- HDU 3068 最长回文
- HDU - 3068 最长回文
- java.lang.NoSuchFieldError: INSTANCE异常问题
- php cookie用法
- 异地多活问题
- C++win32、win64、linux32、linux64中各数据类型占字节数
- iOS-MVVM设计模式
- HDU 3068 最长回文
- 开发中各种对话框的使用
- 【计蒜客】20 - 跳跃游戏二(dp)
- Gradle使用技巧2——不同buildType使用不同applicationId
- tomcat path配置
- Angular 动画实现方式和原生动画实现方式记录
- FMPEG结构体分析:AVStream
- 数据结构实验之查找六:顺序查找
- 赛马问题