码迷,mamicode.com
首页 >  
搜索关键字:回文子串    ( 680个结果
Manacher算法
Manacher算法求回文子串,时间复杂度为O(n)
分类:其他好文   时间:2014-08-27 20:16:58    阅读次数:211
uva 11584
这题说的是给了长度为n的字符串, 将这个字符串分成k个子串,求使得这个k尽量的小的最小值,当这个长度为n的字符串本身就是回文串的时候,那么k为1。考虑第i个字符和前i-1个中的第j个搭配形成回文子串,开一个数组标记一下就可以知道了这个从j到i是否是回文子串然后,每次取最小,我们发现这样是一个最优的子...
分类:其他好文   时间:2014-08-25 20:41:14    阅读次数:144
UVA 257 - Palinwords(字符串HASH)
UVA 257 - Palinwords 题目链接 题意:输出一个文本里面的palinword,palinword的定义为,包含两个不同的回文子串,并且要求回文子串不能互相包含 思路:对于每个单词判断一次,由于不能互相包含,对于每个位置,其实就只要找长度3和4的情况即可,这样复杂度为O(n),至于判断重复的,就用hash即可 代码: #include #include ...
分类:其他好文   时间:2014-08-20 14:09:02    阅读次数:190
最长回文子串
时间限制:1000ms单点时限:1000ms内存限制:64MB描述小Hi和小Ho是一对好朋友,出生在信息化社会的他们对编程产生了莫大的兴趣,他们约定好互相帮助,在编程的学习道路上一同前进。这一天,他们遇到了一连串的字符串,于是小Hi就向小Ho提出了那个经典的问题:“小Ho,你能不能分别在这些字符串中...
分类:其他好文   时间:2014-08-20 01:18:05    阅读次数:306
POJ (Manacher) Palindrome
多敲几个模板题,加深一下对Manacher算法的理解。这道题给的时间限制15s,是我见过的最长的时间的了。看来是为了让一些比较朴素的求最大回文子串的算法也能A过去Manacher算法毕竟给力,运行时间200+MS 1 //#define LOCAL 2 #include 3 #include 4.....
分类:其他好文   时间:2014-08-18 21:51:12    阅读次数:236
HDU 3294 (Manacher) Girls' research
变形的求最大回文子串,要求输出两个端点。我觉得把'b'定义为真正的'a'是件很无聊的事,因为这并不会影响到最大回文子串的长度和位置,只是在输出的时候设置了一些不必要的障碍。另外要注意一下原字符串s1中的字符在预处理以后的字符串s2中对应的坐标关系,这样输出的时候就可以照着这个关系转化。轻松1A,嘿嘿...
分类:其他好文   时间:2014-08-18 20:25:42    阅读次数:180
POJ 3974 Palindrome Manacher算法题解
本题就是求最长的回文子串。 字符串超长,不过限时却是也很长的15秒,最长的限时之一题目了,如果限时短点的话,估计能过的人不多。 使用Mancher算法是可以秒杀的。 模板式的Manacher算法: #include #include #include #include #include #include #include #include #include #includ...
分类:其他好文   时间:2014-08-14 14:12:18    阅读次数:139
URAL 1297 后缀数组:求最长回文子串
思路:这题下午搞了然后一直WA,后面就看了Discuss,里面有个数组:ABCDEFDCBA,这个我输出ABCD,所以错了。 然后才知道自己写的后缀数组对这个回文子串有bug,然后就不知道怎么改了。 然后看题解,里面都是用RMQ先预处理任意两个后缀的最长公共前缀,因为不太知道这个,所以又看了一下午,嘛嘛…… 然后理解RMQ和后缀一起用的时候才发现其实这里不用RMQ也可以,只要特殊处理一下上面...
分类:其他好文   时间:2014-08-13 22:23:47    阅读次数:261
Manacher求最长回文
#1032 : 最长回文子串 时间限制:1000ms 单点时限:1000ms 内存限制:64MB 描述    小Hi和小Ho是一对好朋友,出生在信息化社会的他们对编程产生了莫大的兴趣,他们约定好互相帮助,在编程的学习道路上一同前进。    这一天,他们遇到了一连串的字符串,于是小Hi就向小Ho提出了那个经典的问题:“小Ho,你能不能分别在这些字符...
分类:其他好文   时间:2014-08-09 00:14:49    阅读次数:241
O(n) 求最长回文子串的 Manacher 算法
Manacher是一个可以在O(n)的时间内求出一个长度为n的字符串的算法。以为回文子串有偶数长度,也有奇数长度,分别处理会很不方便。所以在每两个字符中间插入一个无关字符,如‘#’,这样所有的回文子串都变为奇数长度。两端在添加不同的无关字符防止匹配时越界。如: abba 变成 $#a#b#b#a#&...
分类:其他好文   时间:2014-08-08 21:12:56    阅读次数:299
680条   上一页 1 ... 64 65 66 67 68 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!