manacher算法

原创 2016年08月29日 17:16:30

模板

char s[maxn*2];
int p[maxn*2];
int main(){
    //freopen("in.txt", "r", stdin);
    //freopen("out.txt", "w", stdout);
    int l,id=0,ml=0;
    gets(s);
    l=strlen(s);
    for(int i=l;i>=0;--i){
        s[i+i+2]=s[i];
        s[i+i+1]='#';
    }
    s[0]='$';
    l=l*2+1;
    for(int i=2;i<l;++i){
        if(p[id]+id>i) p[i]=min(p[id*2-i],p[id]+id-i);
        else p[i]=1;
        while(s[i-p[i]]==s[i+p[i]]) ++p[i];
        if(id+p[id]<i+p[i]) id=i;
        if(ml<p[i]) ml=p[i];
    }
    printf("%d\n",ml-1);
    return 0;
}

题目

  1. 51nod 1089
版权声明:本文为博主原创文章,欢迎转载。

Manacher算法及其Java实现

Manacher算法及其Java实现Manacher算法及其Java实现 说明 实现步骤 基本过程 完整实现 确定最小半径 具体代码 复杂度分析 参考 原载于天意博文说明现给定一个已知的字符串str[...
  • SiMaXiaoChen
  • SiMaXiaoChen
  • 2017年03月14日 14:57
  • 953

[算法系列之七]Manacher算法之最大回文子串

回文串定义:“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。 回文子串,顾名思义,即字符串中满足回文性质的子串。 经常有一些题目围绕回文子串进行讨论,比如 ...
  • SunnyYoona
  • SunnyYoona
  • 2014年10月23日 09:45
  • 3429

hdu 3068 最长回文(Manacher算法入门模板题)+解题套路

题目链接:【hdu 3068】 输入有a~z组成的字符串,输出最长回文子串的长度 *Manacher算法模板  ==> 一个专用于求最长回文串的算法 1、转化字符串:abcba  ==>  $#...
  • YHYYXT
  • YHYYXT
  • 2016年01月17日 23:13
  • 315

Manacher算法总结

Manacher算法 算法总结第三弹 manacher算法,前面讲了两个字符串相算法——kmp和拓展kmp,这次来还是来总结一个字符串算法,manacher算法,我习惯叫他 “马拉车”算法。 相对于前...
  • dyx404514
  • dyx404514
  • 2014年12月21日 16:10
  • 13289

HDU 3068 最长回文 manacher算法模板

题目:http://acm.hdu.edu.cn/showproblem.php?pid=3068 题意: Problem Description 给出一个只由小写英文字符a,b,c...y,z...
  • discreeter
  • discreeter
  • 2016年07月23日 10:14
  • 485

Manacher算法处理字符串回文

Manacher算法 分类: 数据结构&算法2013-06-14 12:55 33人阅读 评论(0) 收藏 举报 算法Manacher回文 目录(?)[+] ...
  • pi9nc
  • pi9nc
  • 2013年07月05日 13:42
  • 16105

Manacher算法 with c++

今天看Design of Computer Programs的时候突然出现了最长回文子字符串问题..顺便就研究了一下Manacher算法. 求证的话别的博客有,我觉得关键就是两点,一个是将字符串经过...
  • u013795429
  • u013795429
  • 2015年12月22日 11:14
  • 507

manacher(马拉车)算法详解+例题一道【bzoj3790】【神奇项链】

[pixiv] https://www.pixiv.net/member_illust.php?mode=medium&illust_id=39091399 (CSDN好像有bug,不知道为什么存...
  • coco56181712
  • coco56181712
  • 2017年07月28日 17:33
  • 757

manacher算法的实现

manacher算法的解释见 这里。 //求字符串s中最大回文的长度,要求字符串s不包含字符‘#’ int manacher(const string &s) { if (s.si...
  • bupt8846
  • bupt8846
  • 2015年06月05日 11:51
  • 770

Manacher算法(最大回文子串),JAVA实现

推荐大家一个视频。http://www.bilibili.com/video/av4829276/index_1.html。讲manacher算法的。看了好几个博文都不太理解,最后搜了一下视频。很有帮...
  • w5761499123
  • w5761499123
  • 2017年03月11日 16:53
  • 699
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:manacher算法
举报原因:
原因补充:

(最多只允许输入30个字)