manacher
文章平均质量分 75
neither_nor
这个作者很懒,什么都没留下…
展开
-
BZOJ3160 万径人踪灭
对于每个可以作为对称轴的位置,我们算出以其为对称轴有多少对位置和字符是对称的,设为t[i],若不考虑不能连续,则我们可以从这t[i]对里任选出来任意对,都是可行的答案,且不重不漏,所以不考虑不能连续的情况的答案为sigma 2^t[i]-1,考虑不能是连续子串,再减去回文子串的数量即可回文子串数量manacher求就可以了考虑一下,如果两个位置和字符a[i]和a[j]关于第x个位置对称原创 2016-07-02 10:17:50 · 597 阅读 · 0 评论 -
BZOJ3790 神奇项链
manacher求出所有极长回文串的左右端点,然后求最少几段区间能覆盖整个串即可#include#include#include#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;#define MAX原创 2016-09-02 14:43:49 · 917 阅读 · 0 评论 -
BZOJ2160 拉拉队排练
傻逼题……manacher求出每个长度的极长回文串都有多少个,然后把长度相等的快速幂一起乘,然后把长度-2#include#include#include#include#include#include#include#include#include#include#include#include#include#includeusing namespace std原创 2016-08-15 12:35:36 · 899 阅读 · 0 评论 -
BZOJ4755 [Jsoi2016]扭动的回文串
看WerKeyTom_FTD的题解把先求出不跨两个串的,对于跨两个串的,枚举中心,然后易知一定在中心所在串向两边延伸尽量长之后再进另一个串进另一个串之后二分+hash即可马拉车都能写错……#include#include#include#include#include#include#include#include#include#include#include原创 2017-03-21 10:02:58 · 1062 阅读 · 0 评论