题目链接:http://poj.org/problem?id=3974

和hdu上的最长回文题一样,manacher的模板题

#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
const int N = 2e6+; int p[N];
char s[N];
int Manacher(char s[], int n)
{
int Id=, mx = , ans = ;
for(int i=; i<n; i++)
{
if(mx > i)
p[i] = min(p[Id*-i], mx-i);
else
p[i] = ;
while(s[i+p[i]] == s[i-p[i]])
p[i]++;
if(mx < p[i]+i)
{
mx = p[i]+i;
Id = i;
}
ans = max(ans, p[i]);
}
return ans - ;
}
int main()
{
int t=;
while(scanf("%s", s),strcmp(s, "END"))
{
int len = strlen(s);
for(int i=len; i>=; i--)
{
s[i+i+] = s[i];
s[i+i+] = '#';
}
s[] = '$';
int ans = Manacher(s, *len+);
printf("Case %d: %d\n", t++, ans);
}
return ;
}

Palindrome---poj3974(最大回文子串manacher)的更多相关文章

  1. 最长回文子串——manacher

    最长回文子串--Manacher 算法 (原版的博主的代码都是用py写的,这里改成c++) c++ 算法 字符串处理 0. 问题定义 最长回文子串问题:给定一个字符串,求它的最长回文子串长度. 如果一 ...

  2. 九度OJ 1528 最长回文子串 -- Manacher算法

    题目地址:http://ac.jobdu.com/problem.php?pid=1528 题目描述: 回文串就是一个正读和反读都一样的字符串,比如"level"或者"n ...

  3. lintcode最长回文子串(Manacher算法)

    题目来自lintcode, 链接:http://www.lintcode.com/zh-cn/problem/longest-palindromic-substring/ 最长回文子串 给出一个字符串 ...

  4. 最长回文子串Manacher算法模板

    Manacher算法能够在O(N)的时间复杂度内得到一个字符串以任意位置为中心的回文子串.其算法的基本原理就是利用已知回文串的左半部分来推导右半部分. 首先,在字符串s中,用rad[i]表示第i个字符 ...

  5. URAL 1297 Palindrome 最长回文子串

    POJ上的,ZOJ上的OJ的最长回文子串数据量太大,用后缀数组的方法非常吃力,所以只能挑个数据量小点的试下,真要做可能还是得用manacher.贴一下代码 两个小错,一个是没弄懂string类的sub ...

  6. 最长回文子串—Manacher 算法 及 python实现

    最长回文子串问题:给定一个字符串,求它的最长回文子串长度.如果一个字符串正着读和反着读是一样的,那它就是回文串.   给定一个字符串,求它最长的回文子串长度,例如输入字符串'35534321',它的最 ...

  7. hihocoder #1032 : 最长回文子串 Manacher算法

    题目链接: https://hihocoder.com/problemset/problem/1032?sid=868170 最长回文子串 时间限制:1000ms内存限制:64MB 问题描述 小Hi和 ...

  8. Girls' research---hdu3294(回文子串manacher)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3294 给出一个字符串和加密的字符规律 例如 c abcba c代表把串中的c改成a,d改成b... b ...

  9. 5. Longest Palindromic Substring(最长回文子串 manacher 算法/ DP动态规划)

    Given a string s, find the longest palindromic substring in s. You may assume that the maximum lengt ...

  10. HiHo 1032 最长回文子串 (Manacher算法求解)

    /** * 求解最长回文字串,Manacher算法o(n)求解最长回文子串问题 **/ #include<cstdio> #include<cstdlib> #include& ...

随机推荐

  1. 【sql绕过】Bypass waf notepad of def

    文章是通过阅读<[独家连载]我的WafBypass之道 (SQL注入篇)>写的阅读笔记. Waf的类型 1.云waf云waf通常是CDN包含的waf,DNS在解析的时候要解析到cdn上面制 ...

  2. openvpn 移植之生成证书和私钥

    openvpn 是通过 openssl 的各种验证进行连接的,生成证书的过程可以在 Ubuntu 的环境下生成. 步骤如下: 一. 在Ubuntu下安装 openvpn // 这是在 Ubuntu 1 ...

  3. [misc]printf/fprintf/sprintf/snprintf函数

    转自:http://blog.csdn.net/To_Be_IT_1/article/details/32179549 需要包含的头文件 #include <stdio.h> int pr ...

  4. Spider Studio 社区信息

    Spider Studio (采集工作站) 产品页面: http://www.gdtsearch.com/products.spiderstudio.htm QQ群: 45995410 - 有人驻场解 ...

  5. contract

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...

  6. 使用javascript操作cookies的实例

    <script> //写cookies函数 作者:翟振凯 function SetCookie(name,value)//两个参数,一个是cookie的名子,一个是值 { var Days ...

  7. 008Maven_建立私服

    参考博客:http://blog.csdn.net/fengspg/article/details/22507737   .1. Maven私服 关于中央仓库注意事项 l  地址: 目前来说: htt ...

  8. Leetcode_num4_Reverse Integer

    题目: Reverse digits of an integer. Have you thought about this? Here are some good questions to ask b ...

  9. C++ 智能指针学习

     C++ Code  12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 ...

  10. Linux网络流量控制工具—Netem

    第一篇:概念篇 Netem 是 Linux 2.6 及以上内核版本提供的一个网络模拟功能模块.该功能模块可以用来在性能良好的局域网中,模拟出复杂的互联网传输性能,诸如低带宽.传输延迟.丢包等等情况.使 ...