简单来说这是个很水的东西。有点dp的思想吧。推荐两个博客,很详细。

http://blog.csdn.net/xingyeyongheng/article/details/9310555

http://blog.csdn.net/ggggiqnypgjg/article/details/6645824

然后以为随便学点然后去复习,结果……呵呵。什么鬼数据,两行之间用空行隔开……没看到一直wa半节课……

hdu3068最长回文

var
s1,s2:ansistring;
s:array[..]of char;
p:array[..]of longint;
max,ans,mid,i,len:longint;
ch:char;
flag:boolean; function min(x,y:longint):longint;
begin
if x<y then min:=x
else min:=y;
end; begin
while not eof do begin
readln(s1);
readln(s2);
len:=length(s1);
fillchar(p,sizeof(p),);
s[]:='$';
s[]:='#';
for i:= to len do begin
s[i*]:=s1[i];
s[i*+]:='#';
end;
len:=len*+;
s[len]:='#';
mid:=;
max:=;
ans:=;
for i:= to len do begin
if max>i then
p[i]:=min(p[mid*-i],max-i)
else p[i]:=;
while s[i+p[i]]=s[i-p[i]] do inc(p[i]);
if p[i]+i>max then begin
max:=p[i]+i;
mid:=i;
end;
if ans<p[i] then ans:=p[i];
end;
writeln(ans-);
end;
end.

简单来说就是判断是否被前面的覆盖到,如果有,根据对称性可以可得一个长度(min=(p[mid<<1-i],max-i)),如果没有就长度为1,然后再根据这个长度扩展,顺便更新下最大值。

这渣状态……!!

hdu3068最长回文(Manacher算法)的更多相关文章

  1. HDU3068 最长回文 Manacher算法

    Manacher算法是O(n)求最长回文子串的算法,其原理很多别的博客都有介绍,代码用的是clj模板里的,写的确实是异常的简洁,现在的我只能理解个大概,下面这个网址的介绍比较接近于这个模板,以后再好好 ...

  2. [hdu3068 最长回文]Manacher算法,O(N)求最长回文子串

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3068 题意:求一个字符串的最长回文子串 思路: 枚举子串的两个端点,根据回文串的定义来判断其是否是回文 ...

  3. hdu 3068 最长回文 manacher算法(视频)

    感悟: 首先我要Orz一下qsc,我在网上很难找到关于acm的教学视频,但偶然发现了这个,感觉做的很好,链接:戳戳戳 感觉这种花费自己时间去教别人的人真的很伟大. manacher算法把所有的回文都变 ...

  4. hdu_3068 最长回文(Manacher算法)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3068 最长回文 Time Limit: 4000/2000 MS (Java/Others)    M ...

  5. HDU3068 最长回文 MANACHER+回文串

    原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=3068 Problem Description 给出一个只由小写英文字符a,b,c...y,z组成的字符 ...

  6. hdu-3068-最长回文(manacher算法模板)

    题目链接 /* Name:hdu-3068-最长回文 Copyright: Author: Date: 2018/4/24 16:12:45 Description: manacher算法模板 */ ...

  7. hdu3068 最长回文 manacher

    给出一个只由小写英文字符a,b,c...y,z组成的字符串S,求S中最长回文串的长度.回文就是正反读都是一样的字符串,如aba, abba等 manacher裸题 #include<stdio. ...

  8. HDU 3068 最长回文 manacher 算法,基本上是O(n)复杂度

    下面有别人的比较详细的解题报告: http://wenku.baidu.com/view/3031d2d3360cba1aa811da42.html 下面贴我的代码,注释在代码中: #include ...

  9. HDU 3068 最长回文 Manacher算法

    Manacher算法是个解决Palindrome问题的O(n)算法,能够说是个超级算法了,秒杀其它一切Palindrome解决方式,包含复杂的后缀数组. 网上非常多解释,最好的解析文章当然是Leetc ...

随机推荐

  1. JavaScript -- 继承与原型链

    JavaScript对象有一个指向一个原型对象的链,当试图访问一个对象的属性的时候,他不仅仅会在该对象上面搜寻,还会搜寻该对象的原型,以及对象的原型的原型,依次层层搜索,直到找到名字匹配的属性或者到达 ...

  2. 深度解析JQuery Dom元素操作技巧

    深度解析JQuery Dom元素操作技巧 DOM是一种与浏览器.平台.语言无关的接口,使用该接口可以轻松访问页面中所有的标准组件,这篇文章给大家介绍了JQuery dom元素操作方法,写的十分的全面细 ...

  3. HBase学习(三):数据模型

    和传统的关系型数据库类似,HBase以表(Table)的方式组织数据.HBase的表由行(Row)和列(Column)共同构成,与关系型数据库不同的是HBase有一个列族(ColumnFamily)的 ...

  4. 【转】Android开发之ListView+EditText-要命的焦点和软键盘问题解决办法

    Android开发之ListView+EditText-要命的焦点和软键盘问题解决办法 [原文链接] 这篇文章完美的解决了我几个月没结论的bug... 感谢热爱分享的技术达人~ 我是怎么走进这个大坑的 ...

  5. 【C#】 RBAC 权限框架

    [C#] RBAC 权限框架 一. 名词解释 1. 用户 : 登录的账号, 和角色挂钩,可拥有多个角色 2. 角色 : 账号所属的角色, 和权限挂钩,可拥有多个权限 3. 权限 : 角色拥有的操作权限 ...

  6. 零基础学习Vim编辑器

    **********************************************************************0.这篇教程的简介:Vim是Linux/Unix下的经典编辑 ...

  7. Linux-Shell脚本编程-学习-7-总结前面开启后面的学习

    国庆前期后国庆回来也都比较忙,把书一放下,在那起来,就难了,发现好多都开始忘记了,今天好不容易硬着头片看来两章,算是马马虎虎的把前面的基础性质的只是看完了吧. 后面讲开始学习Shell编程的高级阶段, ...

  8. python QQ邮箱自动发送邮件

    于初学者来讲在写发送邮件代码时常见的错误有SMTPAuthenticationError535,有点懵逼,检查用户名,密码正确就是报错, 想当年笔者也是这么过来的,现在就给大家分享一下个人经验: 一, ...

  9. LeetCode - 1. Two Sum(8ms)

    Given an array of integers, return indices of the two numbers such that they add up to a specific ta ...

  10. f3d源码解读

    Fomo3D 源码解析, 部署指南 https://www.meiwen.com.cn/subject/efntbftx.html 原文链接 Fomo3D 合约源码分析 准备工作 环境准备 (用于调试 ...