百度了好长时间,看了很多篇博客才稍微看懂,所以自己写篇博客加深一下映像,并且写的尽量详细一些 希望大家能够只这篇博客就能看懂,能少走些弯路 马拉松算法 1.添加特殊字符 通常情况下,对于一个字符串,需要求解其最长子串时,我们通常需要考虑其字符长度的奇偶性问题,比如'aba'与'abba'的求解方式不 ...
分类:
编程语言 时间:
2019-01-03 22:34:21
阅读次数:
248
我还什么都不会啊 字符串还是很重要的,省选肯定会考的吧 所以还是先写一下马拉车吧 $ $ $Manacher$ 是一个求最长回文子串的算法,复杂度$O(n)$ 核心原理就是利用回文串的性质 首先还是按照对称轴来找回文串,为了避免分类讨论回文串的奇偶性,所以可以在字符串之间先填充特殊字符 具体做法就是 ...
分类:
编程语言 时间:
2019-01-01 19:51:39
阅读次数:
155
求字符串的子串大致有四中方法,暴力,DP,中心拓展,马拉车算法,这篇讲DP怎么做。 DP最重要的就是要能利用到前面的结果来推断当前状态,比暴力优化的地方就在此,暴力需要对每一个字符串做一次O(n)的操作才能判断出结果,也就是整个过程要O(n^3),但DP对每一个字符串的判断时间是O(1),总共是O( ...
分类:
其他好文 时间:
2018-12-28 00:45:21
阅读次数:
320
1: 给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。 输入: "babad" 输出: "bab" 注意: "aba" 也是一个有效答案。 思路:枚举出所有的类型的子串,然后判断是否是回文子串然后找出最长的长度/算法所需要时间太长 ...
分类:
其他好文 时间:
2018-12-17 16:54:24
阅读次数:
242
P3805 【模板】manacher算法 题目大意 n个字符组成的字符串,求最长回文串 $O$$($$n^3$$)$ 枚举两端点,暴力往中间搜 $O$$($$n^2$$)$ 枚举回文串终点,暴力往两边搜 $O$$($$n$$)$ $first:$ $j$与$i$关于pos对称,$S$为以$pos$为 ...
分类:
其他好文 时间:
2018-12-11 11:19:58
阅读次数:
171
给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。 示例 1: 输入: "babad" 输出: "bab" 注意: "aba" 也是一个有效答案。 示例 2: 输入: "cbbd" 输出: "bb" string longestPalindrome(string ...
分类:
其他好文 时间:
2018-12-06 22:18:59
阅读次数:
203
Manachers算法是一个可求字符串的最长回文穿的高效率算法 优点:速度高 这是一篇清晰移动的博客:传送 代码实现: ...
分类:
其他好文 时间:
2018-12-05 22:57:17
阅读次数:
267
题意:让你把一个字符串反转,然后两个合并并去掉重复部分;就是求出末尾最长回文串; 题解:KMP;将原字符串反转,求出反转后的字符串的失配函数,然后与原字符串匹配; 参考代码: 1 #include<bits/stdc++.h> 2 using namespace std; 3 #define clr ...
分类:
其他好文 时间:
2018-12-01 13:04:45
阅读次数:
114
LeetCode第五题: 给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。 示例 1: 输入: "babad" 输出: "bab" 注意: "aba" 也是一个有效答案。 示例 2: 输入: "cbbd" 输出: "bb" 这道题做了是真的久。其实想想并不难。 ...
分类:
其他好文 时间:
2018-11-29 17:56:33
阅读次数:
218
最长回文 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 31611 Accepted Submission(s): 11618 Problem ...
分类:
编程语言 时间:
2018-11-28 22:27:44
阅读次数:
192