![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Manacher
文章平均质量分 82
DT2131
Rage, rage against the dying of the light.Do not go gentle into that good night.
展开
-
HDU 3613 Best Reward (加权manacher)
题意:对于字母a~z每个字母都有一个权值给出一个字符串,让你拆成两部分,如果一段是回文串,这一段的价值就是这一段上所有字母的权值,若不是回文串这一段的总价值为0。求两段的最大总价值。思路:先manacher跑一边。由于价值是连续的,所以再跑一边,求出从开头到每一点的总价值,然后枚举每个分割点,对于每个分割点分情况讨论就是了。代码:#include using namesp原创 2016-12-05 17:13:18 · 306 阅读 · 0 评论 -
HDU 3294 Girls' research (manacher模板题)
题意:给你一个字符串,对其凯撒加密后,求最长回文串代码:#include using namespace std;const int MAXN=400000;struct Manacher{ char Ma[MAXN*2]; int Mp[MAXN*2]; int Mx[MAXN*2]; int len; double ave; i原创 2016-12-05 17:20:26 · 374 阅读 · 0 评论 -
POJ 3974 Palindrome (manachr模板题)
题意:求最长回文串的长度代码:#include #include #include using namespace std;const int MAXN=1000010;struct Manacher{ char Ma[MAXN*2]; int Mp[MAXN*2]; int Mx[MAXN*2]; int len; double a原创 2016-12-05 17:15:45 · 270 阅读 · 0 评论 -
HDU 4513 吉哥系列故事――完美队形II
题意:中文思路:改下模板中的匹配规则代码:#include using namespace std;const int MAXN=200000;struct Manacher{ int Ma[MAXN*2]; int Mp[MAXN*2]; int Mx[MAXN*2]; int len; double ave; int l原创 2016-12-05 17:24:09 · 305 阅读 · 0 评论 -
HDU 5371 Hotaru's problem (manacher+线段树)
题意:假设对于字符串A,它的反串为A'。给出一个字符串,找出形式为AA'A的最长串的长度。思路:先用manacher跑一边,得到对于每一个位置i,以i为中心回文串的长度Mp[i]以回文串AA'的中心i1为圆心,以AA'的半径Mp[i1]为半径,做圆O1 以回文串A'A的中心i2为圆心,以A'A的半径Mp[i2]为半径,做圆O2若要满足连续的AA'A必有原创 2016-12-05 16:40:21 · 371 阅读 · 0 评论 -
HDU 3068 最长回文 (Manacher 模板题)
题意:中文代码:#include using namespace std;const int MAXN=210000;struct Manacher{ char Ma[MAXN*2]; int Mp[MAXN*2]; int Mx[MAXN*2]; int len; double ave; int l; int ans;原创 2016-12-05 17:25:51 · 409 阅读 · 0 评论 -
Gym - 101350I Mirrored String II 求给定字符的最长回文
题意: 求给定字符的最长回文串思路: 将非给定字符离散成不同的值即可代码:#include using namespace std;const int MAXN=210000;char ch[]={'A', 'H', 'I', 'M', 'O', 'T', 'U', 'V', 'W', 'X', 'Y'};char ch2[]={'A',原创 2017-04-23 08:14:25 · 782 阅读 · 0 评论