![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构-----Manacher
柒月 流火
菜
展开
-
Manacher 模板 求字符串中的最长回文串的长度
求输入的每一个字符串中的最长回文串的长度1032 : 最长回文子串最长子串的长度是半径减1,起始位置是中间位置减去半径再除以2。#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;typedef lo...原创 2019-02-04 14:46:36 · 125 阅读 · 0 评论 -
hdu 3613 Best Reward manacher算法
hdu 3613 Best Reward 题意:给你26个字母的价值 和 一个字符串,将字符串分成两份,是回文串的那一份的价值是这份串所有字母价值的和,不是回文串的那份价值为0,输出最大价值思路:用manacher算法求出回文串的长度 和 枚举切割每一个点,检查得到的两个子串是否是回文串,再求出字符串的前缀和。最后遍历一遍,将每一个切割点所对应的价值求出,输出最大值输入的字...原创 2019-02-05 19:39:26 · 163 阅读 · 0 评论 -
HDU - 4513 吉哥系列故事――完美队形II Manacher 算法
HDU - 4513 吉哥系列故事――完美队形II 思路:本题与求最长回文串的题一样,只是多加了一个条件#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int maxn=100010;...原创 2019-02-05 21:57:03 · 136 阅读 · 0 评论 -
HDU - 3294 Girls' research Manacher算法 子串的起点终点公式
HDU - 3294 Girls' research题意:给定一个字母,这个字母对应着真正的 a ,将字符串变为他所对应的字符串,求出这个字符串的最长回文串的起点和终点,并输出这个回文串思路:最长子串的长度是半径减1,起始位置是中间位置减去半径再除以2。Manacher算法+公式,新串中的位置 i ,对应原始串的( (i-len[i])/2 , (i+len[i])/2-2 ...原创 2019-02-06 19:36:28 · 191 阅读 · 0 评论