原文地址:https://segmentfault.com/a/1190000008484167 博主讲的很好 一:背景 给定一个字符串,求出其最长回文子串。例如: 以上问题的传统思路大概是,遍历每一个字符,以该字符为中心向两边查找。其时间复杂度为$O(n^2)$,效率很差。 1975年,一个叫Ma ...
分类:
编程语言 时间:
2018-08-14 14:34:22
阅读次数:
146
题意:给你一个字符和一个字符串让你求出最长回文子串并且输出来,答案需要根据给出的字符转换一下,就是将给出的字符认定为a,然后依次向后推; 解题思路:manacher模板+一些处理 代码: ...
分类:
其他好文 时间:
2018-08-11 13:00:11
阅读次数:
124
题意:求一个字符串#include<iostream>#include<algorithm>#include<cstring>using namespace std;char s[200005],a[200005];int p[200005];int n;int change(){ int i,j, ...
分类:
其他好文 时间:
2018-08-09 23:06:34
阅读次数:
177
由一个题引入: 求一个串A的最长回文串: A=abababa最长回文串长度:5(ababa) 先思考用hash怎么做? 一、暴力 枚举左端,右端点(确定一个区间),线性扫一遍当前区间。 Ans=max(ans); 时间复杂度:O(n^3) 貌似也有O(n^2)的暴力,在此不再赘述。二、哈希 分设两个 ...
分类:
其他好文 时间:
2018-08-09 21:11:52
阅读次数:
124
利用回文串的「镜像」特点减少计算。 引理 0 设 $S$ 是一个长度为 $n+1$ 回文串,下标从 $0$ 开始;$T = S[l, r]$ 是 $S$ 的子串。$T$ 是回文串当且仅当 $S[n r, n l]$ 是回文串。 先考虑长度为奇数的回文子串(简称为「奇回文子串」),可以求出以每个下标为 ...
分类:
编程语言 时间:
2018-08-07 20:26:46
阅读次数:
138
Longest Palindromic Substring 最长回文串 这个一开始我只能用暴力法来求解,结果时间复杂度应该是达到了O(n^3),运行速度严重落后。 在网上看到了用动态规划来做的,方法如下:使用一个二维数组dp[][],若dp[i][j]=1表示第i个位置到第j个位置的字符串是回文。当 ...
分类:
其他好文 时间:
2018-08-01 18:18:14
阅读次数:
133
给出一个只由小写英文字符a,b,c...y,z组成的字符串S,求S中最长回文串的长度. 摘自: http://blog.csdn.net/dyx404514/article/details/42061017 先说一个O(n^2)复杂度解法:根据长度奇偶性,找对称轴,奇数长度取节点,偶数取节点空隙,然 ...
分类:
编程语言 时间:
2018-07-29 23:21:16
阅读次数:
210
Three Palindromes Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 1948 Accepted Submission(s): 68 ...
分类:
编程语言 时间:
2018-07-25 13:51:53
阅读次数:
232
推荐博客 :https://blog.csdn.net/zzkksunboy/article/details/72600679 作用 线性时间解决最长回文子串问题。 思想 Manacher充分利用了回文的性质,从而达到线性时间。 首先先加一个小优化,就是在每两个字符(包括头尾)之间加没出现的字符(如 ...
分类:
其他好文 时间:
2018-07-25 11:28:52
阅读次数:
214