码迷,mamicode.com
首页 >  
搜索关键字:manacher    ( 645个结果
BZOJ 3160 万径人踪灭 Manacher算法+快速傅里叶变换
题目大意:给定一个由'a'和'b'构成的字符串,求不连续回文子序列的个数 首先回文一定是将字符串倍增 由于求的是不连续回文子序列的个数 因此我们可以求出总回文子序列的个数,然后减掉连续的 连续的就是回文子串 用Manacher算法可以O(n)求解 不连续的就有些难搞了 首先我们令f[i]表示以i为中心的对称字符对个数 比如s[]=$#a#b#a 那么s[4]='b' f[4]=2 那么...
分类:编程语言   时间:2014-12-27 17:40:35    阅读次数:243
Manacher算法总结
Manacher算法 算法总结第三弹 manacher算法,前面讲了两个字符串相算法——kmp和拓展kmp,这次来还是来总结一个字符串算法,manacher算法,我习惯叫他 “马拉车”算法。 相对于前面介绍的两个算法,Manacher算法的应用范围要狭窄得多,但是它的思想和Z算法有很多共通支出,所以在这里介绍一下。Manacher算法是查找一个字符串的最长回文子串的线性算法。 在介绍算法...
分类:编程语言   时间:2014-12-21 16:38:53    阅读次数:226
[译]最长回文子串(Longest Palindromic Substring) Part II
问题:给定字符串S,求S中的最长回文子串。 本篇将讨论一个O(N)时间O(N)空间的算法,即著名的Manacher算法,并详细说明其时间复杂度为何是O(N)。
分类:其他好文   时间:2014-12-15 23:23:40    阅读次数:356
BZOJ 3790 神奇项链 Hash+二分+树状数组
题目大意:给定一个串,问这个串最少可以由回文串拼接多少次而成(拼接可以重叠) 首先将每两个字符之间插入占位符,然后Hash+二分搞出所有极大回文串(可以用manacher,我不会) 问题转化成了给定一些区间,求最少的能覆盖整个数轴的区间 将所有区间按照某一端点排序 然后上树状数组即可 回头还是去学学manacher吧。。。 #include #include #include #i...
分类:编程语言   时间:2014-12-11 15:53:11    阅读次数:207
UVA 12378 Ball Blasting Game Manacher裸题
消除字符串游戏,选择一个字母,则会消除和该字母相同且连续的一段,然后左右两边合拢,若左右两边字母相同则再次消除掉。直到合拢时两边字母不相同。问这样连续消除的最大次数。思路:先把连续相同的字母当成一个字母,然后求最长回文串,则答案就是(最长长度+1)/;2[cpp] view plaincopy#pr...
分类:其他好文   时间:2014-12-07 06:29:10    阅读次数:186
Manacher模版
求字符串中出现过的最长回文子串[cpp] view plaincopyconstintMAXN=110010;//字符串长度i?min(Mp[2*id-i],mx-i):1;while(Ma[i+Mp[i]]==Ma[i-Mp[i]])Mp[i]++;if(i+Mp[i]>mx){mx=i+Mp[i...
分类:其他好文   时间:2014-12-07 06:27:24    阅读次数:136
UVA 12378 Ball Blasting Game Manacher裸题
题目链接:点击打开链接 题意: 消除字符串游戏,选择一个字母,则会消除和该字母相同且连续的一段,然后左右两边合拢,若左右两边字母相同则再次消除掉。直到合拢时两边字母不相同。 问这样连续消除的最大次数。 思路: 先把连续相同的字母当成一个字母,然后求最长回文串, 则答案就是(最长长度+1)/;2 #pragma comment(linker, "/STACK:1024000000,10...
分类:其他好文   时间:2014-12-07 01:25:31    阅读次数:207
Manacher模版
求字符串中出现过的最长回文子串 const int MAXN = 110010; //字符串长度<MAXN char Ma[MAXN * 2]; int Mp[MAXN * 2]; void Manacher(char s[]) { int l = 0, len = strlen(s); Ma[l++] = '$'; Ma[l++] = '#'; for (int i = 0; i<le...
分类:其他好文   时间:2014-12-07 01:24:24    阅读次数:134
Manacher处理回文的方法
这里,我介绍一下O(n)回文串处理的一种方法。Manacher算法.原文地址:http://zhuhongcheng.wordpress.com/2009/08/02/a-simple-linear-time-algorithm-for-finding-longest-palindrome-sub-...
分类:其他好文   时间:2014-11-26 18:38:27    阅读次数:167
[manacher] hdu 3294 Girls' research
题意: 给一个字符x代表真实的a 然后输出的时候转换 然后就是求最长回文子串的串是什么 长度要大于1 思路: 就是裸的manacher,弄清楚下标的转换关系就好了 代码: #include"cstdlib" #include"cstdio" #include"cstring" #include"cmath" #include"queue" #include"algorithm" #in...
分类:其他好文   时间:2014-11-17 12:26:57    阅读次数:152
645条   上一页 1 ... 58 59 60 61 62 ... 65 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!