manacher
zxyoi_dreamer
退役了退役了爬了爬了,搞个锤子算法竞赛,不如好好享受大学生活。
展开
-
【模板】manacher算法
参考题目:洛谷P3085解析:关于manachermanachermanacher的讲解目前网上有很多啊,画图手残党可能要很久以后才会更新。代码:#include<bits/stdc++.h>using namespace std;#define re register#define ll long long#define gc getchar...原创 2018-09-11 21:23:29 · 110 阅读 · 0 评论 -
2018.09.11【国家集训队】最长双回文子串(manacher)
传送门解析:首先,是个人都应该知道要先上个manachermanachermanacher。。。接下来应该就是枚举每个点为断点,左右分别为回文子串的最长长度。我们考虑用anslanslansl和ansransransr两个数组分别表示以这个位置为起始、终止位置的极长回文子串长度。显然最后统计答案就是O(n)O(n)O(n)遍历一下两个数组求最大值。那么问题来了。 ...原创 2018-09-11 22:01:11 · 124 阅读 · 0 评论 -
【BZOJ3103】【BZOJ3350】Palindromic Equivalence/相似回文串(manacher)(弦图)
给出一个由小写字母组成的字符串SSS,问有多少由小写字母 构成的字条串S′S'S′,满足∣S∣′=∣S∣|S|'=|S|∣S∣′=∣S∣S′[L..R]S'[L..R]S′[L..R]是回文串,当且仅当S[L..R]S[L..R]S[L..R]是回文串题解:直接利用manacher可以推得O(n)O(n)O(n)组相等关系和不等关...原创 2019-07-20 12:12:33 · 352 阅读 · 0 评论 -
【BZOJ3160】万径人踪灭(manacher)(FFT)
传送门题解:求有多少个不完全连续的回文子序列,要求字符和位置都必须关于某个对称轴对称。考虑求出所有回文子序列个数和回文子串个数,两者答案相减即为所求。回文子串个数直接用manacher即可。回文子序列个代码:#include<bits/stdc++.h>#define ll long long#define re register#define cs const...原创 2019-07-20 22:06:32 · 121 阅读 · 0 评论 -
【SHOI2011】【洛谷P4278】【BZOJ2342】双倍回文(manacher 或 PAM)
洛谷传送门BZOJ传送门题解:如果对回文自动机非常熟悉这道题就已经切了。维护一下half指针转移+判断这个偶回文串的一半是否是偶回文就行了。我们发现实际上就是在每次发现新的偶回文的时候会更新答案,manacher类似做就行了。代码(PAM):#include<bits/stdc++.h>#define ll long long#define re register...原创 2019-07-21 15:45:58 · 160 阅读 · 0 评论