码迷,mamicode.com
首页 >  
搜索关键字:manacher算法    ( 287个结果
!HDU 5371 最长双回文串(多校7)-卡时间-(manacher+排序+set+lower_bound())
题意:给定一个有n个数字的序列,找出一个连续的子序列满足这样的条件:平均分成三段,第一段与第三段一样,第二段是第一段的倒序。求这样的子序列的最大长度。数据范围:n~100000 分析: 上面的条件抽象出来其实就是双回文串,所以题目就是求一个序列的最长双回文串。 主体做法是: 1.先用manacher算法O(n)求出每个元素的最大回文半径; 2.把每个元素看成一个圆心,那么两个点能构成双回...
分类:编程语言   时间:2015-08-12 06:45:23    阅读次数:156
HDU Hotaru's problem(Manacher算法+贪心)
2015多校联合训练7 1003...
分类:编程语言   时间:2015-08-12 01:26:22    阅读次数:205
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
Manacher算法
【题目】给定一个字符串str,返回str中的最长回文子串的长度。【举例】str=“123”。其中的最长回文子串“1”或者“2”或者“3”,所以返回1。str=“abc1234321ab”。其中的最长回文子串“1234321”,所以返回7。【要求】如果str长度为N,时间复杂度为O(N)。题目分析:1...
分类:编程语言   时间:2015-08-11 21:17:51    阅读次数:153
Manacher算法(转)
O(n)回文子串算法注:转载的这篇文章,我发现下面那个源代码有点bug。。。在下一篇博客中改正了。。 这里,我介绍一下O(n)回文串处理的一种方法。Manacher算法.原文地址:http://zhuhongcheng.wordpress.com/2009/08/02/a-simple-linear...
分类:编程语言   时间:2015-08-11 20:45:30    阅读次数:123
hdu 5371 manacher+枚举
容易联想到利用manacher算法获得len数组,然后枚举第二段的长度判断能否和第三段对应上,能的话就更新答案。另外枚举长度的时候,小于等于当前答案的长度就没有必要枚举了,不然可能会超时。 1 #include 2 #include 3 #include 4 using namespace s...
分类:其他好文   时间:2015-08-11 20:44:16    阅读次数:108
hdu5371Hotaru's problem manacher算法
//给一个序列,让求其最大子序列 //这个序列由三段组成,第一段和第二段对称,第一段和第三段一样 //manacher算法求得p[i] //枚举第二段的起点和长度,得到结果 #include #include #include using namespace std ; const int maxn = 2e5 + 10 ; int str[ma...
分类:编程语言   时间:2015-08-11 18:43:18    阅读次数:131
hdu4513 吉哥系列故事——完美队形II
题目: 在一个长度为n的数组里面找回文串,要求回文串从中间向两边一次递减 思路: manacher算法:时间复杂度O(n) 在manacher过程中添加限制语句保证题目要求即可 st[i-p[i]]st[i-p[i]+2]///表示回文串的左侧部分,前面要比后面的小 代码: #include #include #define MAXN 100010 using...
分类:其他好文   时间:2015-08-07 20:15:58    阅读次数:103
算法进阶之manacher算法 (求最长回文)
前几天bestcode做到一道字符串的题目,需要O(n)的回文,正好看到网上的manacher算法,于是来学习一发 进入正题: manacher算法 用法:一般用于求一个字符串的最大回文,操作过程中会记录以每个点为中心的回文半径,可用来进行其他操作 时间复杂度:O(n) 空间复杂度:记录字符串2*n,半径数组2*n 内容: 记p[i]为以i为中心的回文半径(a...
分类:编程语言   时间:2015-08-04 17:16:17    阅读次数:194
287条   上一页 1 ... 18 19 20 21 22 ... 29 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!