传送门 今天来学回文自动机的模板吧!Achen开心地告诉自己,然后打开了一道水题。 噫,这不是马拉车的水题嘛、、 第一反应,马拉车,然后线段树维护第i个字母结尾的最长回文串长度 然后其实做法应该是线性的,傻了吧,,, 考虑马拉车的时候往后拓展,容易想到每个点第一次被拓展到的时候的那个店就是以它为结尾 ...
分类:
其他好文 时间:
2018-01-07 23:36:15
阅读次数:
336
代码总用时:3h 很简单的一道题,只要意识到Manacher算法的本质(本质不同的回文串的个数是O(n)的),配合后缀自动机或者后缀数组就可以轻松解决。 但这道题调了好久,浪费了很多时间,一是因为后缀自动机模板不熟练,而是Manacher算法流程没有一个清楚的认识。 写代码的时候精力要高度集中,不能 ...
回文自动机上dp f[x]表示形成x代表的回文串所需的最小步数, 若len[x]为奇数,f[x]=len[x],因为即使有更优的,也是直接添加,没有复制操作,那样就不用从x转移了。 若len[x]为偶数,f[x]=min(f[fa[x]]+1,len[x]/2-len[fro[x]]+f[fro[x ...
分类:
其他好文 时间:
2018-01-03 17:28:17
阅读次数:
93
已完成bzoj1559 ** ac+jvchengbzoj1195:[HNOI2006]最短母串 ** ac+jvchengbzoj1692 * sabzoj1031 * sabzoj3796 ** sa+kmpbzoj3230:相似子串 ** sa+stbzoj4698 *** sabzoj216 ...
分类:
其他好文 时间:
2018-01-03 14:15:12
阅读次数:
104
manacher(马拉车)算法可以在O(n)中求出最长回文子串 算法原理主要是在匹配的时候使用了一个id和mx,以及用回文串对称的性质,这样在On复杂度内算出来的,前面的常数好像不是很大 hdu 3068 manacher算法模板题 ...
分类:
编程语言 时间:
2017-12-30 23:35:15
阅读次数:
184
【bzoj1710】[Usaco2007 Open]Cheappal 廉价回文 Description 为了跟踪所有的牛,农夫JOHN在农场上装了一套自动系统. 他给了每一个头牛一个电子牌号 当牛走过这个系统时,牛的名字将被自动读入. 每一头牛的电子名字是一个长度为M (1 <= M <= 2,00 ...
分类:
移动开发 时间:
2017-12-29 12:11:34
阅读次数:
159
一 字符串中的最大回文串(第5题) Given a string s, find the longest palindromic substring in s. You may assume that the maximum length of sis 1000. Example: Example: ...
分类:
编程语言 时间:
2017-12-28 19:45:13
阅读次数:
249
题意 : 给出一个由 n 中字母组成的长度为 m 的串,给出 n 种字母添加和删除花费的代价,求让给出的串变成回文串的代价。 分析 : 原始模型 ==> 题意和本题差不多,有添和删但是并无代价之分,要求最少操作几次才能是其变成回文串 ① 其实细想之后就会发现如果没有代价之分的话删除和增添其实是一样的 ...
分类:
其他好文 时间:
2017-12-27 22:32:39
阅读次数:
218
发现每个可行的答案是两个短的回文串拼成的一个长的回文串所以短串一定是长串的某个后缀建出来回文自动机后,在$fail$树$dfs$即可 1 #include<cstdio> 2 #include<cstring> 3 #include<iostream> 4 #include<algorithm> 5 ...
分类:
其他好文 时间:
2017-12-26 21:08:09
阅读次数:
157
【题目】E - Papple Sort 【题意】给定长度为n的小写字母串,只能交换相邻字母,求形成回文串的最小步数。n<=2*10^5。 【算法】数学 【题解】官方题解 本题题解中有以下重要的思想: ①分析多复杂因素相互干扰的问题时,先排除无关因素,然后转化关联因素为独立因素后逐个分析。 ②位置移动 ...
分类:
移动开发 时间:
2017-12-25 11:42:12
阅读次数:
201