码迷,mamicode.com
首页 >  
搜索关键字:manacher    ( 645个结果
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
HDU5340——Manacher算法——Three Palindromes
http://acm.hdu.edu.cn/showproblem.php?pid=5340/*Manacher算法:O(n) 实现最长回文子串算法实现:先向原字符串中插入一个原来串不存在的字符,一般用'#',再O(n)遍历一遍,用一个数组p[i]来记录以str[i]为中心的回文半径(注意str[i...
分类:编程语言   时间:2015-08-12 16:41:34    阅读次数:126
【POJ 3974】 Palindrome
【POJ 3974】 PalindromeManacher纯模板题 忘记的时候可以拿来找感觉代码如下:#include #include #include #include using namespace std;char str[1111111]; char nwstr[2333333]; int p[2333333];...
分类:其他好文   时间:2015-08-12 14:41:00    阅读次数:118
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
【HDOJ 5371】 Hotaru's problem
【HDOJ 5371】 Hotaru’s problemManacher算法+穷举/setManacher算法一好文:http://blog.csdn.net/yzl_rex/article/details/7908259套一个Manacher算出回文半径数组p之后 有两种方法 穷举法: 枚举-1的点(根据题意只必为偶数回文) 找在该点回文半径内与其相隔最远 并且回文半径等于他俩距离(即两点为中...
分类:其他好文   时间:2015-08-12 11:37:23    阅读次数:109
!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
645条   上一页 1 ... 46 47 48 49 50 ... 65 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!