题目地址:HDU 5371
题意:给你一个具有n个元素的整数序列,问你是否存在这样一个子序列,该子序列分为三部分,第一部分与第三部分相同,第一部分与第二部分对称,如果存在求最长的符合这种条件的序列。
思路:用Manacher算法来处理回文串的长度,记录下以每一个-1(Manacher算法的插入)为中心的最大回文串的长度。然后从最大的开始穷举,只要p[i]-1即能得出以数字为中心的最大回文串的长度...
分类:
编程语言 时间:
2015-08-12 16:48:58
阅读次数:
158
manacher算法介绍
先用求回文串的Manacher算法,求出以第i个点和第i+1个点为中心的回文串长度,记录到数组c中 比如 10 9 8 8 9 10 10 9 8 我们通过运行Manacher求出第i个点和第i+1个点为中心的回文串长度 0 0 6 0 0 6 0 0 0
两个8为中心,10 9 8 8 9 10是个回文串,长度是6。 两个10为中心,8 9 10 10 ...
分类:
其他好文 时间:
2015-08-12 16:48:40
阅读次数:
286
题意:
给定一个有n个数字的序列,找出一个连续的子序列满足这样的条件:
1. 平均分成三段
2. 第一段与第三段一样
3. 第二段是第一段的倒序。求这样的子序列的最大长度。
数据范围:n~100000
解析:
我看网络上面很多的题解都是用O(n2/32)O(n^2/32)的做法水数据过去的,这种做法是先用mancher算法预处理出每个每个回文串最远所能抵达的位置,然后...
分类:
其他好文 时间:
2015-08-12 11:38:48
阅读次数:
119
题意:找三个连续子序列a b c,满足a b对称且b c对称
思路:先求出序列中以每个位置为中心的回文串长度存在p[i]数组里,用manacher算法,O(n)的时间,然后遍历p数组,如果在当前位置的回文串范围内,与之后的位置上的回文串范围能覆盖彼此任意一个的至少一半,就说明满足条件,依此找出最优解
还在wa的同学可以试试我代码下面的数据
代码:
#include
#include
#...
分类:
其他好文 时间:
2015-08-12 11:38:09
阅读次数:
128
题意:给定一个有n个数字的序列,找出一个连续的子序列满足这样的条件:平均分成三段,第一段与第三段一样,第二段是第一段的倒序。求这样的子序列的最大长度。数据范围:n~100000
分析:
上面的条件抽象出来其实就是双回文串,所以题目就是求一个序列的最长双回文串。
主体做法是:
1.先用manacher算法O(n)求出每个元素的最大回文半径;
2.把每个元素看成一个圆心,那么两个点能构成双回...
分类:
编程语言 时间:
2015-08-12 06:45:23
阅读次数:
156
题意,给定一个100000 的串,求他一个子串,使得将子串分成三部分有后,第一部分=第三部分,第一部分与第二部分对称(回文)首先我们需要处理出以i为轴的回文串的两端,这个事情可以用Manacher算法完成,复杂度O(n)http://blog.csdn.net/ggggiqnypgjg/articl...
分类:
其他好文 时间:
2015-08-12 01:17:56
阅读次数:
102
HDU 5371题意:定义一个序列为N序列:这个序列按分作三部分,第一部分与第三部分相同,第一部分与第二部分对称。
现在给你一个长为n(n<10^5)的序列,求出该序列中N序列的最大长度。思路:来自官方题解:修正了一些题解错别字(误
先用求回文串的Manacher算法,求出以第i个点为中心的回文串长度,记录到数组p中
要满足题目所要求的内容,需要使得两个相邻的回文串,共享中间的一部...
分类:
其他好文 时间:
2015-08-11 23:35:47
阅读次数:
464
题意:给一个序列,找出1个连续子序列,将其平分成前,中,后等长的3段子序列,要求【前】和【中】是回文,【中】和【后】是回文。求3段最长为多少?由于平分的关系,所以答案应该是3的倍数。思路:先Manacher求最长子串,利用期间所记录的P 数组,穷举一下所有可能的前两串,再用O(1)时间判断第3串.....
分类:
其他好文 时间:
2015-08-11 23:17:43
阅读次数:
160
题目地址:Primes or Palindromes?
题意:给出p,q,A=p/q,求找出最大的n使得n以内的素数的个数<=A*n以内的回文串的个数。
思路:其实就是n以内的素数的个数*q<=n以内的回文串的个数*p。然而p/q的最大值为42,那么数到13000000就到达极限,所以我们直接可以从大的开始往小的一步一步的暴力枚举就可以(感觉窝还是太年轻。。QAQ#include <stdio....
分类:
其他好文 时间:
2015-08-11 21:35:02
阅读次数:
226
G -回文串Time Limit:3000MSMemory Limit:65536KB64bit IO Format:%I64d & %I64uSubmitStatusDescriptionA palindrome is a symmetrical string, that is, a string...
分类:
其他好文 时间:
2015-08-11 21:15:44
阅读次数:
83