
字符串---Manacher
forezxl
水君一枚
展开
-
Manacher算法简介(HDU3068 hihocoder1032)
Manachar算法主要是处理字符串中关于回文串的问题的,它可以在 O(n) 的时间处理出以字符串中每一个字符为中心的回文串半径。原创 2017-09-27 19:03:37 · 290 阅读 · 0 评论 -
BZOJ2084 [Poi2010]Antisymmetry(洛谷P3501)
ManacherBZOJ题目传送门 洛谷题目传送门注意到如果不取反就是求回文串。那么我们重新定义一下这个“回文串”就是反过来恰好相反的字符串,刷manacher的时候把条件改一下就好了。代码:#include<cctype>#include<cstdio>#include<cstring>#include<algorithm>...原创 2018-08-24 20:29:32 · 313 阅读 · 0 评论 -
BZOJ3790:神奇项链
Manacher 贪心题目传送门**题目大意:**给你一个字符串,你可以造任意的回文串并把它们拼起来得到原串,求最少拼接次数(回文串可重叠)。先Manacher求出ppp数组,把每个点看成一个一条线段,左右端点分别为i−p[i]i-p[i]i−p[i]和i+p[i]i+p[i]i+p[i]。然后就变成线段覆盖问题(用最少的线段覆盖住整个区间),贪心即可(我懒就用了堆)。代码:#inclu...原创 2018-10-05 18:23:37 · 349 阅读 · 0 评论