2565: 最长双回文串 Description 顺序和逆序读起来完全一样的串叫做回文串。比如acbca是回文串,而abc不是(abc的顺序为“abc”,逆序为“cba”,不相同)。输入长度为n的串S,求S的最长双回文子串T,即可将T分为两部分X,Y,(|X|,|Y|≥1)且X和Y都是回文串。 顺序 ...
分类:
其他好文 时间:
2017-01-12 19:53:37
阅读次数:
257
HYSBZ 2565 最长双回文串 (回文树)...
分类:
其他好文 时间:
2016-05-12 15:12:10
阅读次数:
174
manacher之后乱搞#include #include #include #include #include #include #define N 200005#define to(x) ((x)+p[x])#define from(x) ((x)-p[x])using namespace st...
分类:
其他好文 时间:
2016-01-16 20:55:44
阅读次数:
246
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=2565记录一下每个点往前最长延伸位置,正反两遍,枚举分割点。#include#include#include#include#define rep(i,l,r) for (int i=l;i=r;...
分类:
其他好文 时间:
2015-11-22 23:26:15
阅读次数:
185
题意:给定一个有n个数字的序列,找出一个连续的子序列满足这样的条件:平均分成三段,第一段与第三段一样,第二段是第一段的倒序。求这样的子序列的最大长度。数据范围:n~100000
分析:
上面的条件抽象出来其实就是双回文串,所以题目就是求一个序列的最长双回文串。
主体做法是:
1.先用manacher算法O(n)求出每个元素的最大回文半径;
2.把每个元素看成一个圆心,那么两个点能构成双回...
分类:
编程语言 时间:
2015-08-12 06:45:23
阅读次数:
156
Description顺序和逆序读起来完全一样的串叫做回文串。比如acbca是回文串,而abc不是(abc的顺序为“abc”,逆序为“cba”,不相同)。输入长度为n的串S,求S的最长双回文子串T,即可将T分为两部分X,Y,(|X|,|Y|≥1)且X和Y都是回文串。Input一行由小写英文字母组成的...
分类:
其他好文 时间:
2015-07-04 12:34:28
阅读次数:
122
Manacher算法 找出一个最长子串S=X+Y,且X和Y都是回文串,求最长的长度是多少…… 同时找两个串明显很难搞啊……但是我们可以先找到所有的回文串!在找回文串的同时我们可以预处理出来l[i]和r[i]分别表示从 i 这个位置开始向左/右最长的回文串有多长,那么我们枚举两个回文串的分割点更新.....
分类:
其他好文 时间:
2015-04-07 13:21:59
阅读次数:
106
题目大意:给定一个字符串,求一个最长的子串,该字串可以分解为两个回文子串
傻逼的我又忘了Manacher怎么写了= = 无奈Hash+二分吧
首先将字符串用分隔符倍增,然后求出以每个点为中心的最长回文半径
然后考虑两个回文串怎么合并成一个
我们发现图中以i为中心的回文串和以j为中心的回文串合并后长度恰好为(j-i)*2
能合并的前提是以两个点为中心的回文串有交点
那么对于每个j...
分类:
其他好文 时间:
2015-02-24 17:30:32
阅读次数:
127
2565: 最长双回文串Time Limit: 10 SecMemory Limit: 128 MBSubmit: 617Solved: 330[Submit][Status]Description 顺序和逆序读起来完全一样的串叫做回文串。比如acbca是回文串,而abc不是(abc的顺序为“...
分类:
其他好文 时间:
2014-11-13 08:18:53
阅读次数:
214