我还什么都不会啊 字符串还是很重要的,省选肯定会考的吧 所以还是先写一下马拉车吧 $ $ $Manacher$ 是一个求最长回文子串的算法,复杂度$O(n)$ 核心原理就是利用回文串的性质 首先还是按照对称轴来找回文串,为了避免分类讨论回文串的奇偶性,所以可以在字符串之间先填充特殊字符 具体做法就是 ...
分类:
编程语言 时间:
2019-01-01 19:51:39
阅读次数:
155
【题目】: 给定一个字符串str,返回把str全部切成回文子串的最小分割数 举例: str="ABA" 不需要切割,str本身就是回文串,所以返回0 str="ACDCDCDAD" 最少需要切2次变成3个回文子串,比如"A","CDCDC"和"DAD",所以返回2 题目来源:左程云老师《程序员代码面 ...
分类:
其他好文 时间:
2019-01-01 17:25:02
阅读次数:
185
求字符串的子串大致有四中方法,暴力,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
(一)字符串题目的特点 ①广泛性 字符串可以看作字符类型的数组,与数组的排序、查找、调整有关 很多其他类型的题可看作字符串类型的题 ②需要掌握的概念 回文 子串(连续) 子序列(不连续) 前缀树(Trie树) 后缀树和后缀数组 匹配 字典序 ③需要掌握的操作 与数组有关的操作:增删改查 字符的替换 ...
分类:
编程语言 时间:
2018-12-15 11:58:08
阅读次数:
165
P4555 [国家集训队]最长双回文串 题目大意 求S的最长双回文子串T,即可将T分为两部分X,Y,(|X|,|Y|≥1)且X和Y都是回文串 建两个回文自动机,一个维护前缀,一个维护后缀 最后扫一遍更新答案 My complete code: ...
分类:
其他好文 时间:
2018-12-11 11:26:36
阅读次数:
174
P3649 [APIO2014]回文串 题目大意 求在一个字符串内,一个回文子串的长度*出现次数的最大值 回文自动机PAM的模板题 建树的时候统计一下当前节点表示的回文串出现的次数 最后扫一遍更新答案,记得$for$时要把值上传 My complete code: ...
给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。 示例 1: 输入: "babad" 输出: "bab" 注意: "aba" 也是一个有效答案。 示例 2: 输入: "cbbd" 输出: "bb" string longestPalindrome(string ...
分类:
其他好文 时间:
2018-12-06 22:18:59
阅读次数:
203
问题一:求一个字符串的最大回文字符串长度; 1)思路:动态规划; 2)具体描述:设立一个长度len为字符串str,用一个dp[len][len]的二维数组来表示字符串i-j下标所构成的子串的长度,经过循环计算之后我们返回最大回文子串的长度即可,即返回dp[0][len-1]; 3)dp数组的具体实现 ...
分类:
其他好文 时间:
2018-12-01 11:03:36
阅读次数:
176
LeetCode第五题: 给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。 示例 1: 输入: "babad" 输出: "bab" 注意: "aba" 也是一个有效答案。 示例 2: 输入: "cbbd" 输出: "bb" 这道题做了是真的久。其实想想并不难。 ...
分类:
其他好文 时间:
2018-11-29 17:56:33
阅读次数:
218