题目名称 3473. [POJ 3974]最长回文子串
输入输出 palindrome.in/out
难度等级 ★★
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试数据 4
题目来源 GravatarOasiz 于2020-09-11加入
开放分组 全部用户
提交状态
分类标签
二分法 字符串哈希
分享题解
通过:10, 提交:46, 通过率:21.74%
Gravatarムラサメ 100 0.008 s 29.13 MiB C++
Gravatarムラサメ 100 0.013 s 1.73 MiB C++
Gravatarsyzhaoss 100 0.037 s 7.52 MiB C++
Gravatar增强型图元文件 100 0.065 s 28.48 MiB C++
Gravatar增强型图元文件 100 0.065 s 28.48 MiB C++
Gravatarwow草原 100 0.103 s 31.48 MiB C++
Gravatarsyzhaoss 100 0.182 s 6.57 MiB C++
Gravatar嗨嗨嗨 100 0.250 s 36.76 MiB C++
Gravataryrtiop 100 0.326 s 27.23 MiB C++
Gravatar 100 0.437 s 36.76 MiB C++
关于 最长回文子串 的近10条评论(全部评论)
其实这个题暴力hash做法复杂度就是线性的,常数吊打manacher。
Gravataryrtiop
2023-03-21 23:32 2楼
数据太建议加强
Gravatarムラサメ
2023-03-17 19:30 1楼

3473. [POJ 3974]最长回文子串

★★   输入文件:palindrome.in   输出文件:palindrome.out   简单对比
时间限制:1 s   内存限制:128 MiB

【题目描述】

一个聪明的计算机科学学生安迪正在上一节算法课,教授问学生一个简单的问题:“你能提出一个有效的算法来找出字符串中最大回文的长度吗?”

如果一个字符串前后读的都是相同的,则称其为回文,例如“madam”是回文,而“wdnmd”不是。

学生们认识到这是一个经典的问题,但是没有比迭代所有子串并检查它们是否回文更好的解决方案,显然这个算法根本没有效率,过了一会儿,安迪举起手说:“好的,“我有一个更好的算法”,在他开始解释他的想法之前,他停了一会儿,然后说:“好吧,我有一个更好的算法!”。

如果你认为你知道安迪的最终解决方案,那就证明它吧!给定一个最多1000000个字符的字符串,查找并打印此字符串中最大回文的长度。

【输入格式】

你的程序将在最多30个测试用例上进行测试,每个测试用例在一行中以最多1000000个小写字符的字符串形式给出。输入由以字符串“END”开头的一行结束(为清楚起见,用引号括起来)。

【输出格式】

对于每个样例输出样例号和最大的回文串

【样例输入】

abcbabcbabcba
abacacbaaaab
END

【样例输出】

Case 1: 13
Case 2: 6

【来源】

《算法竞赛进阶指南》

Seventh ACM Egyptian National Programming Contest