背景 近期開始研究算法,于是在leetcode上做算法题,第五题Longest Palindromic Substring便是关于回文子串的。 什么是回文字串 回文字符串是指将该字符串前后颠倒之后和该字符串一样的字符串。比如:a,aaaa,aba,abba… 最长回文子串 要求最长回文子串,就须要遍 ...
分类:
编程语言 时间:
2017-06-05 23:49:22
阅读次数:
329
【算法】回文树 #include<cstdio> #include<algorithm> #include<cstring> using namespace std; const int maxn=100010; struct trees{int len,fail,t[260];}t[maxn]; ...
分类:
编程语言 时间:
2017-06-05 18:01:02
阅读次数:
182
求解最长回文串之Manachar算法 问题类型: 输入一个字符串,求出其中最大的回文子串。子串的含义是:在原串中连续出现的字符串片段。 回文的含义是:正着看和倒着看相同,如abba和yyxyy。 这类问题对于一些小数据可以暴力枚举回文的中心点求解(处理好奇数和偶数长度的回文即可) 但是时间复杂度较高 ...
分类:
编程语言 时间:
2017-06-03 20:14:08
阅读次数:
291
回文自动机讲解!http://blog.csdn.net/u013368721/article/details/42100363 pam上每个点代表本质不同的回文子串。len(i)代表长度,cnt(i)代表个数(要最后在fail树上dp一遍方可)。 答案直接枚举一遍结点,然后用len(i)*cnt( ...
回文树简述 在大部分说法中,回文树与回文自动机指的是一个东西; 回文树是对一个字符串,基于自动机思想构建的处理回文问题的树形结构; 回文树是对着一个单串建立的; 于是他主要用于计数(回文子串种类及个数) 基本建立思路是先建立其前缀的回文树,然后每加上一个字符,统计影响; 回文树存在fail指针但一般 ...
分类:
其他好文 时间:
2017-06-02 22:02:55
阅读次数:
231
好久没来写了,继续继续。。。 Easy(250pts): //前方请注意,样例中带有zyz,高能预警。。。 题目大意:给你一个字符串,中间有一些是未知字符,请你求出这个字符串的回文子串个数的期望值。数据满足字符最多2500个。 我们考虑每一个子串,它对答案的贡献度就是它是回文串的概率,那么我们扫一遍 ...
分类:
其他好文 时间:
2017-06-02 20:18:54
阅读次数:
261
时间限制:1000ms 单点时限:1000ms 内存限制:64MB 时间限制:1000ms 单点时限:1000ms 内存限制:64MB 描述 小Hi和小Ho是一对好朋友,出生在信息化社会的他们对编程产生了莫大的兴趣,他们约定好互相帮助,在编程的学习道路上一同前进。 这一天,他们遇到了一连串的字符串, ...
分类:
其他好文 时间:
2017-05-29 17:20:13
阅读次数:
170
Description 考虑一个只包含小写拉丁字母的字符串s。我们定义s的一个子串t的“出 现值”为t在s中的出现次数乘以t的长度。请你求出s的所有回文子串中的最 大出现值。 考虑一个只包含小写拉丁字母的字符串s。我们定义s的一个子串t的“出 现值”为t在s中的出现次数乘以t的长度。请你求出s的所有 ...
居然能够做到O(n)的复杂度求最长回文。,也是给跪了。 以下这个人把manacher讲的很好,,能够看看 http://blog.csdn.net/xingyeyongheng/article/details/9310555 我就照着他的代码敲了一遍贴了个模板。。 #include<map> #in ...
分类:
其他好文 时间:
2017-05-28 16:52:05
阅读次数:
169
1 class Solution { 2 public: 3 string longestPalindrome(string s) { 4 int maxLoc=0; 5 int maxNum=1; 6 const int stringSize=s.size(); 7 if(stringSize==... ...
分类:
其他好文 时间:
2017-05-28 12:57:40
阅读次数:
140