码迷,mamicode.com
首页 > 编程语言 > 详细

[bzoj 3676][uoj #103]【APIO2014】Palindromes回文串 后缀数组+manachar

时间:2016-04-26 12:44:35      阅读:219      评论:0      收藏:0      [点我收藏+]

标签:

给你一个由小写拉丁字母组成的字符串 ss。我们定义 ss 的一个子串的存在值为这个子串在 ss 中出现的次数乘以这个子串的长度。

对于给你的这个字符串 ss,求所有回文子串中的最大存在值。
输入格式

一行,一个由小写拉丁字母(a~z)组成的非空字符串 ss。
输出格式

输出一个整数,表示所有回文子串中的最大存在值。
样例一
input

abacaba

output

7

explanation

用 ∣s∣∣s∣ 表示字符串 ss 的长度。

一个字符串 s1s2…s∣s∣s1s2…s∣s∣ 的子串是一个非空字符串 sisi+1…sjsisi+1…sj,其中 1≤i≤j≤∣s∣1≤i≤j≤∣s∣。每个字符串都是自己的子串。

一个字符串被称作回文串当且仅当这个字符串从左往右读和从右往左读都是相同的。

这个样例中,有 77 个回文子串 a,b,c,aba,aca,bacab,abacaba。他们的存在值分别为 4,2,1,6,3,5,74,2,1,6,3,5,7。

所以回文子串中最大的存在值为 77。
样例二
input

www

output

4

限制与约定

第一个子任务共 8 分,满足 1≤∣s∣≤1001≤∣s∣≤100。

第二个子任务共 15 分,满足 1≤∣s∣≤10001≤∣s∣≤1000。

第三个子任务共 24 分,满足 1≤∣s∣≤100001≤∣s∣≤10000。

第四个子任务共 26 分,满足 1≤∣s∣≤1000001≤∣s∣≤100000。

第五个子任务共 27 分,满足 1≤∣s∣≤3000001≤∣s∣≤300000。

时间限制:1

[bzoj 3676][uoj #103]【APIO2014】Palindromes回文串 后缀数组+manachar

标签:

原文地址:http://blog.csdn.net/alps233/article/details/51249243

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!