1.C++ 11 Tricks http://codeforces.com/blog/entry/15643 2.C++ string http://www.cnblogs.com/xFreedom/archive/2011/05/16/2048037.html 3.manacher + kmp + ...
分类:
其他好文 时间:
2016-12-04 07:52:33
阅读次数:
222
题目: Given a string S, find the longest palindromic substring in S. You may assume that the maximum length of S is 1000, and there exists one unique lo ...
分类:
其他好文 时间:
2016-10-24 21:03:27
阅读次数:
208
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3948 题意:给定一个字符串,求字符串本质不同的回文子串个数。 思路:主要参考该篇解题报告 先按照manacher的构造方法改造一遍串,然后跑一遍manacher。求出以i为中心的最长回文串长度p[i]。 ...
分类:
编程语言 时间:
2016-10-12 14:09:06
阅读次数:
251
题目如下: 此题用Manacher算法求解,时间复杂度为O(n) Python代码: ...
分类:
其他好文 时间:
2016-10-07 14:07:23
阅读次数:
151
最长回文 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 18219 Accepted Submission(s): 6689 Problem D ...
分类:
编程语言 时间:
2016-10-06 14:58:53
阅读次数:
152
题意:求不同回文串的个数 n<=10^5 题解: 先按照manacher的构造方法改造一遍串,然后跑一遍manacher。 如ababa--> $#a#b#a#b#a#@ 然后跑一遍后缀数组。 对于一个后缀sa[i]~cl(cl为字符串的总长),我们本来是要加上以sa[i]为中心的回文串的个数p[s ...
分类:
编程语言 时间:
2016-09-27 15:05:42
阅读次数:
156
题目:给定一个字符串s,找出s中的最长回文子串; 暴力法,DP法, 中心扩展法,manacher算法 解法一:暴力法 遍历字符串S的每一个子串,去判断这个子串是不是回文,是回文的话看看长度是不是比最大的长度maxlength大。遍历每一个子串的方法要O(n^2),判断每一个子串是不是回文的时间复杂度 ...
分类:
其他好文 时间:
2016-09-17 13:28:30
阅读次数:
209
用manacher算法O(n)求出所有的回文半径。有了回文半径后,就可以求出L[i]表示以i结尾的回文串的起始位置的和R[i]表示以i起始的回文串的结尾位置的和,然后就可以求出答案了,这里要注意奇偶长度回文串的不同处理。复杂度O(n) 1 #include<bits/stdc++.h> 2 usin ...
分类:
编程语言 时间:
2016-09-15 17:45:27
阅读次数:
177