码迷,mamicode.com
首页 >  
搜索关键字:回文串    ( 1220个结果
HDU 5371(2015多校7)-Hotaru's problem(Manacher算法求回文串)
题目地址:HDU 5371 题意:给你一个具有n个元素的整数序列,问你是否存在这样一个子序列,该子序列分为三部分,第一部分与第三部分相同,第一部分与第二部分对称,如果存在求最长的符合这种条件的序列。 思路:用Manacher算法来处理回文串的长度,记录下以每一个-1(Manacher算法的插入)为中心的最大回文串的长度。然后从最大的开始穷举,只要p[i]-1即能得出以数字为中心的最大回文串的长度...
分类:编程语言   时间:2015-08-12 16:48:58    阅读次数:158
HDU 5371 Hotaru's problem
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
hdu 5371 Hotaru's problem(manacher+尺取法)
题意: 给定一个有n个数字的序列,找出一个连续的子序列满足这样的条件: 1. 平均分成三段 2. 第一段与第三段一样 3. 第二段是第一段的倒序。求这样的子序列的最大长度。 数据范围:n~100000 解析: 我看网络上面很多的题解都是用O(n2/32)O(n^2/32)的做法水数据过去的,这种做法是先用mancher算法预处理出每个每个回文串最远所能抵达的位置,然后...
分类:其他好文   时间:2015-08-12 11:38:48    阅读次数:119
hdu5371
题意:找三个连续子序列a b c,满足a b对称且b c对称 思路:先求出序列中以每个位置为中心的回文串长度存在p[i]数组里,用manacher算法,O(n)的时间,然后遍历p数组,如果在当前位置的回文串范围内,与之后的位置上的回文串范围能覆盖彼此任意一个的至少一半,就说明满足条件,依此找出最优解 还在wa的同学可以试试我代码下面的数据 代码: #include #include #...
分类:其他好文   时间:2015-08-12 11:38:09    阅读次数:128
!HDU 5371 最长双回文串(多校7)-卡时间-(manacher+排序+set+lower_bound())
题意:给定一个有n个数字的序列,找出一个连续的子序列满足这样的条件:平均分成三段,第一段与第三段一样,第二段是第一段的倒序。求这样的子序列的最大长度。数据范围:n~100000 分析: 上面的条件抽象出来其实就是双回文串,所以题目就是求一个序列的最长双回文串。 主体做法是: 1.先用manacher算法O(n)求出每个元素的最大回文半径; 2.把每个元素看成一个圆心,那么两个点能构成双回...
分类:编程语言   时间:2015-08-12 06:45:23    阅读次数:156
HDU 5371 Hotaru's problem manacher+(线段树or set)
题意,给定一个100000 的串,求他一个子串,使得将子串分成三部分有后,第一部分=第三部分,第一部分与第二部分对称(回文)首先我们需要处理出以i为轴的回文串的两端,这个事情可以用Manacher算法完成,复杂度O(n)http://blog.csdn.net/ggggiqnypgjg/articl...
分类:其他好文   时间:2015-08-12 01:17:56    阅读次数:102
HDU 5371 (2015多校联合训练赛第七场1003)Hotaru's problem(manacher+二分/枚举)
HDU 5371题意:定义一个序列为N序列:这个序列按分作三部分,第一部分与第三部分相同,第一部分与第二部分对称。 现在给你一个长为n(n<10^5)的序列,求出该序列中N序列的最大长度。思路:来自官方题解:修正了一些题解错别字(误 先用求回文串的Manacher算法,求出以第i个点为中心的回文串长度,记录到数组p中 要满足题目所要求的内容,需要使得两个相邻的回文串,共享中间的一部...
分类:其他好文   时间:2015-08-11 23:35:47    阅读次数:464
HDU 5371 Hotaru's problem (Manacher,回文串)
题意:给一个序列,找出1个连续子序列,将其平分成前,中,后等长的3段子序列,要求【前】和【中】是回文,【中】和【后】是回文。求3段最长为多少?由于平分的关系,所以答案应该是3的倍数。思路:先Manacher求最长子串,利用期间所记录的P 数组,穷举一下所有可能的前两串,再用O(1)时间判断第3串.....
分类:其他好文   时间:2015-08-11 23:17:43    阅读次数:160
Codeforces Round #315 -Primes or Palindromes?(回文&&素数)
题目地址: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 回文串
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
1220条   上一页 1 ... 89 90 91 92 93 ... 122 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!