【题意】给定只含小写字母的字符串s,定义价值为回文子串的长度*出现次数,求最大价值。n<=3*10^5。 【算法】回文树 【题解】回文树上一个点的被访问次数是其作为最长回文子串的出现次数。 将fail边反向连接建树后,每个点的子树访问次数和就是这个回文子串的出现次数,可以dfs解决。 注意:要从-1 ...
http://poj.org/problem?id=3974 题目大意: 求最大回文子串长度。 ———————————————————— 马拉车板子题。 马拉车讲解先割。 (测试过如果写成函数的话会很慢(2000+ms),这么写是(200+ms),所以不美观就不美观吧)。 ...
分类:
其他好文 时间:
2017-12-03 14:48:05
阅读次数:
160
题意:给你一个长度为n的字符串,每次你可以消去一段连续的回文子串,剩下的两端重新拼接成一个新的串,问最少需要消去多少次。 思路:这题一开始想不出,不好dp,一个明显的思路是用dp[i][j]表示消去i到j段最少要的次数,但是不知道每次消去后剩下的串的回文串情况,所以我们要换一个思路。其实题目中的回文 ...
分类:
其他好文 时间:
2017-10-27 23:03:27
阅读次数:
188
Given a string s, find the longest palindromic substring in s. You may assume that the maximum length of s is 1000. Example: Example: ...
分类:
其他好文 时间:
2017-10-27 01:37:34
阅读次数:
137
manager 算法 求得每个字母为中心的回文串的数量 然后 对那个数组统计一下 #include<iostream> #include<math.h> #include<stdio.h> #include<algorithm> #include<string.h> #include<vector> ...
分类:
其他好文 时间:
2017-10-21 12:18:36
阅读次数:
187
问题:求一个字符串的最长回文子串的长度 http://hihocoder.com/problemset/problem/1032 1.Brute Force 枚举子串(枚举起点和终点),再判断子串是否回文串。时间复杂度O(n^3) 2.稍优的算法 枚举子串的中点,从中点向两侧扩展判断回文串。时间复杂 ...
分类:
其他好文 时间:
2017-10-14 22:34:03
阅读次数:
173
1 //Manacher算法 求最长回文子串 2 int Init(){ 3 int len=strlen(s); 4 s_new[0]='$';s_new[1]='#'; 5 int j=2; 6 for(int i=0;i<len;i++){ 7 s_new[j++]=s[i]; 8 s_new... ...
分类:
编程语言 时间:
2017-10-14 17:02:36
阅读次数:
211
#include #include #include using namespace std; const int maxn=11000000; char s[maxn+10],a[(maxn=0&&a[i-rl[i]]==a[i+rl[i]];++rl[i]); if(i+rl[i]-1>maxv... ...
分类:
编程语言 时间:
2017-10-12 10:14:24
阅读次数:
238
题目链接:传送门 题意:输入一个字符串Str,输出Str里最长回文子串的长度。(Str的长度<=100000) 题解:Manacher模板题,先抄个模板先(待补) ...
分类:
编程语言 时间:
2017-10-12 01:06:53
阅读次数:
242
Given a string s, find the longest palindromic substring in s. You may assume that the maximum length of s is 1000. Example: Input: "babad" Output: "b ...
分类:
其他好文 时间:
2017-10-09 23:57:19
阅读次数:
231