回文自动机讲解!http://blog.csdn.net/u013368721/article/details/42100363 pam上每个点代表本质不同的回文子串。len(i)代表长度,cnt(i)代表个数(要最后在fail树上dp一遍方可)。 答案直接枚举一遍结点,然后用len(i)*cnt( ...
若字符串长度为n,则算法的时间复杂度为o(n) 假设有一个字符串abaaba 先把该字符串变成$ # a # b # a # a # b # a # 第一个字符设为‘$’,防止计算的时候数组越界 再计算p数组,先给出p数组的答案 i为坐标,ma数组放改变后的字符串,p数组代表以该字符为中心,向右和向 ...
分类:
编程语言 时间:
2017-05-29 12:04:58
阅读次数:
173
居然能够做到O(n)的复杂度求最长回文。,也是给跪了。 以下这个人把manacher讲的很好,,能够看看 http://blog.csdn.net/xingyeyongheng/article/details/9310555 我就照着他的代码敲了一遍贴了个模板。。 #include<map> #in ...
分类:
其他好文 时间:
2017-05-28 16:52:05
阅读次数:
169
http://acm.hdu.edu.cn/showproblem.php?pid=5371 Problem Description Hotaru Ichijou recently is addicated to math problems. Now she is playing with N-se ...
分类:
编程语言 时间:
2017-05-27 13:23:14
阅读次数:
245
引言 相信大家都玩过折叠纸张,如果把回文串相当于折叠一个A4纸,比如ABCDDCBA就是沿着中轴线(D与D之间)对折重合,那么这个就是一个回文串。或者是ABCDEDCBA的中轴线就是E,那么沿着中轴线对折也是重合的,所以这个字符串也是一个回文串。 判断一个字符串中的最长回文子串,我们可以对每个字符的 ...
分类:
编程语言 时间:
2017-05-26 18:22:43
阅读次数:
227
在上篇《manacher算法处理最长的回文子串(一)》解释了manacher算法的原理,接着给该算法,该程序在leetcode的最长回文子串中通过。首先manacher算法维护3个变量。一个名为radius[i]的数组,表示以i为中心轴承的回文子串的半径,如abcdcba中,字符d的下标为4,则他的 ...
分类:
编程语言 时间:
2017-05-26 18:21:31
阅读次数:
224
Description 给出一个只由小写英文字符a,b,c...y,z组成的字符串S,求S中最长回文串的长度. 回文就是正反读都是一样的字符串,如aba, abba等Input 输入有多组case,不超过120组,每组输入为一行小写英文字符a,b,c...y,z组成的字符串S 两组case之间由空行 ...
分类:
其他好文 时间:
2017-05-26 00:49:42
阅读次数:
204
吉哥系列故事——完美队形II Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) Total Submission(s): 1491 Accepted Submission(s): 555 ...
分类:
其他好文 时间:
2017-05-24 10:12:08
阅读次数:
156
【BZOJ3160】万径人踪灭 Description Input Output Sample Input Sample Output HINT 题解:自己想出来1A,先撒花~(其实FFT部分挺裸的) 做这道题,第一思路很重要,显然看到这题的第一想法就是ans=总数-不合法(不要问我为什么显然)。因 ...
分类:
其他好文 时间:
2017-05-22 18:27:26
阅读次数:
145
传送门 很蒙蔽,不知道怎么搞。 网上看题解有说可以哈希+二分搞,也有的人说用Manacher搞,Manacher是什么鬼?以后再学。 对于这个题,可以从矩阵4个角hash一遍,然后枚举矩阵中的点,再二分半径。 但是得考虑边的长度为奇偶所带来的影响。 比如 1 1 1 1 这个边数为偶数的矩阵显然没法 ...
分类:
其他好文 时间:
2017-05-16 21:41:36
阅读次数:
240