manacher
lajiyuan_
已经退役啦,会不定期更新cf博客 or 其他计算机知识相关的博客.
展开
-
【UVA 11475 Extend to Palindrome】 KMP/manacher
UVA11475 本题题意是给你一个字符串,求出最少拼接字符数使其变为回文串KMP做法通过思考我们可以发现,只有作为后缀的回文串对结果产生贡献,那么这个题就转变为了找最长的后缀回文子串,我们将字符串倒置再拼接上原串,求得的next[len]也就是倒置字符串的前缀与原字符串的后缀的最大匹配长度,也就是本题答案。 UVA11475代码#include<stdio.h>...原创 2018-06-18 12:40:10 · 224 阅读 · 0 评论 -
【UVA 257 Palinwords】Manacher+Hash
UVA-257 本题意义是给你一堆字符串,将其中具有两个长度超过3的回文串的字符串输出 要求这两个回文字符串不能完全覆盖,但是可以重合,而且这两个回文字符串不能相同。 由于要求长度大于3而且可以重合,我们只要求每个长度为3/4的回文串就可以了,当某个位置存在长度>=3的回文串,如果串长为奇数,那么就取3,否则取4,然后把遍历指针i往后挪一位(去掉覆盖的情况),之后用hash判重就可以了...原创 2018-06-18 12:58:50 · 212 阅读 · 0 评论 -
【ACM-ICPC 2018 南京赛区网络预赛 I. Skr】 manacher+hash
I.skr 题意:求一个字符串所有本质不同的回文子串的贡献和,每个符合条件的子串的贡献就是该子串代表的数字值。 该问题可以转化为两个子问题来考虑,第一个子问题就是找出所有本质不同的回文子串,第二个问题就是计算该子串对答案的贡献。 我们首先来考虑第一个问题,我们首先要解决的是如何找出所有的回文子串,如果以某个点为中心去搜就太慢了,我们发现manacher算法寻找最长回文子串的过程中其实已经找了...原创 2018-09-02 20:21:10 · 324 阅读 · 2 评论