palindrome 回文 /// Manacher算法
判断最长不连续回文
#include <bits/stdc++.h>
using namespace std;
int main()
{
char ch[];
while(gets(ch))
{
int len=strlen(ch),dp[],ans=;
for(int i=;i<len;i++)
ch[i]=tolower(ch[i]),dp[i]=;
for(int i=;i<len;i++)
{
int cnt=;
for(int j=i-;j>=;j--)
{
int tmp=dp[j];
if(ch[i]==ch[j]) dp[j]=cnt+;
cnt=max(cnt,tmp);
}
}
for(int i=;i<len;i++) ans=max(ans,dp[i]);
printf("%d\n",ans);
} return ;
}
过程如图
b | b | a | c | b | b | b | c | a | d |
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
2 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
2 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
2 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
3 | 3 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
5 | 3 | 1 | 1 | 2 | 1 | 1 | 1 | 1 | 1 |
5 | 4 | 1 | 1 | 3 | 2 | 1 | 1 | 1 | 1 |
5 | 4 | 1 | 5 | 3 | 2 | 1 | 1 | 1 | 1 |
5 | 4 | 7 | 5 | 3 | 2 | 1 | 1 | 1 | 1 |
5 | 4 | 7 | 5 | 3 | 2 | 1 | 1 | 1 | 1 |
判断最长连续回文
https://segmentfault.com/a/1190000008484167
Manacher模板
#include<ctype.h>
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
char s[],news[];
int lens[];
int init()
{
news[]='$',news[]='#';
int j=;
for(int i=;s[i]!='\0';i++)
news[j++]=tolower(s[i]),news[j++]='#';
news[j]='\0';
return j;
}
int manacher()
{
int len=init(),mx=,id,maxlen=;
for(int i=;i<len;i++)
{
if(i<mx) lens[i]=min(lens[*id-i],mx-i);
else lens[i]=; while(news[i-lens[i]]==news[i+lens[i]])
lens[i]++; if(mx<i+lens[i]) id=i,mx=lens[i]+i;
maxlen=max(maxlen,lens[i]-);
}
return maxlen;
}
int main()
{
while(gets(s))
{
printf("%d\n",manacher());
} return ;
}
palindrome 回文 /// Manacher算法的更多相关文章
- hdu 3068 最长回文 manacher算法(视频)
感悟: 首先我要Orz一下qsc,我在网上很难找到关于acm的教学视频,但偶然发现了这个,感觉做的很好,链接:戳戳戳 感觉这种花费自己时间去教别人的人真的很伟大. manacher算法把所有的回文都变 ...
- HDU3068 最长回文 Manacher算法
Manacher算法是O(n)求最长回文子串的算法,其原理很多别的博客都有介绍,代码用的是clj模板里的,写的确实是异常的简洁,现在的我只能理解个大概,下面这个网址的介绍比较接近于这个模板,以后再好好 ...
- hdu_3068 最长回文(Manacher算法)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3068 最长回文 Time Limit: 4000/2000 MS (Java/Others) M ...
- 字符串-回文-Manacher算法
http://blog.csdn.net/zzkksunboy/article/details/72600679 https://segmentfault.com/a/1190000008484167 ...
- hdu-3068-最长回文(manacher算法模板)
题目链接 /* Name:hdu-3068-最长回文 Copyright: Author: Date: 2018/4/24 16:12:45 Description: manacher算法模板 */ ...
- [hdu3068 最长回文]Manacher算法,O(N)求最长回文子串
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3068 题意:求一个字符串的最长回文子串 思路: 枚举子串的两个端点,根据回文串的定义来判断其是否是回文 ...
- HDU 3068 最长回文 Manacher算法
Manacher算法是个解决Palindrome问题的O(n)算法,能够说是个超级算法了,秒杀其它一切Palindrome解决方式,包含复杂的后缀数组. 网上非常多解释,最好的解析文章当然是Leetc ...
- HDU 3068 最长回文 manacher 算法,基本上是O(n)复杂度
下面有别人的比较详细的解题报告: http://wenku.baidu.com/view/3031d2d3360cba1aa811da42.html 下面贴我的代码,注释在代码中: #include ...
- hdu3068最长回文(Manacher算法)
简单来说这是个很水的东西.有点dp的思想吧.推荐两个博客,很详细. http://blog.csdn.net/xingyeyongheng/article/details/9310555 http:/ ...
随机推荐
- java 轻量级 RestClient
package org.rx.socks.http; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; ...
- python pip时openssl的错误
也不知道看了哪个方法弄成这个样子的,也没办法,下面方法可用 https://blog.csdn.net/chr1341901410/article/details/80995451
- 如何解决Unsupported major.minor version 52.0问题?
为什么出现Unsupported major.minor version 52.0? You get this error because a Java 7 VM tries to load a cl ...
- Microsoft specification
http://msdn.microsoft.com/en-US/ 搜索 specification 搜索"PE COFF specification",得到一篇Microsoft官 ...
- 机器学习技法笔记:02 Dual Support Vector Machine、KKT
原文地址:https://www.jianshu.com/p/58259cdde0e1 Roadmap Motivation of Dual SVM Lagrange Dual SVM Solving ...
- 动态方法调用秘密武器 —— invokedynamic 指令解读 - MethodHandle
原文:https://juejin.im/book/5c25811a6fb9a049ec6b23ee/section/5ccc66dd518825403b5975fb import java.lang ...
- Win7环境下VS2010配置Cocos2d-x-2.1.4最新版本的开发环境(亲测)
写这篇博客时2D游戏引擎Cocos2d-x的最新版本为2.1.4,记得很久以前使用博客园博主子龙山人的一篇博文<Cocos2d-x win7+vs2010配置图文详解(亲测)>成功配置 ...
- jmeter 读写excel插件编写教程系列(1) -开篇
不知道为什么,jmeter 竟然不提供 读写excel 的Sampler! 但是在我们自动化接口测试过程中,参数化.保存测试数据,用excel 是比较好的解决方案! 接下来一段儿时间,大虫会抽出一些时 ...
- pytest--fixture---自动应用
import pytest@pytest.fixture(autouse=True)-----加上auto=True,每个方法执行前都会自动登陆def login_r(open_browser): p ...
- 【转】从SOA到微服务,企业分布式应用架构在云原生时代如何重塑
摘要: SOA 采用中心化的服务总线架构,解耦了业务逻辑和服务治理逻辑:微服务架构回归了去中心化的点对点调用方式,在提升敏捷性和可伸缩性的同时,也牺牲了业务逻辑和服务治理逻辑解耦所带来的灵活性. 为了 ...