Manacher
kalilili
双眼闭三年。
展开
-
HDU 3613 Best Reward(求前后缀回文 拓展KMP or Manacher)
题目大意:给个字符串X,要把X分成两段T1,T2,每个字母都有一个对应的价值,如果T1,T2是回文串(从左往右或者从右往左读,都一样),那么他们就会有一个价值,这个价值是这个串的所有字母价值之和,如果不是回文串,那么这串价值就为0。问最多能获得多少价值?思路:把字符串X逆序后得到字符串Y让X去匹配Y ,匹配的长度满足extend[i] + i == len, le原创 2015-02-21 15:46:40 · 1809 阅读 · 0 评论 -
HDU 3068 最长回文(初遇manacher)
这题可用拓展KMP分治法来做http://blog.sina.cn/dpool/blog/s/blog_677a3eb30100knj8.html 复杂度O(nlogn)这种方法好复杂而且代码很长,不易理解。相比之下Manacher就简单多了,算法本身也很简单 这里个易懂的资料http://wenku.baidu.com/view/3031d2d3360cba1aa811da42.html原创 2015-02-20 20:20:50 · 655 阅读 · 0 评论 -
URAL 1297. Palindrome(输出最长回文子串--后缀数组)
InputThe input consists of a single line, which contains a string of Latin alphabet letters (no other characters will appear in the string). String length will not exceed 1000 characters.Outpu原创 2015-03-19 19:59:28 · 664 阅读 · 0 评论 -
HDU 3294 Girls' research (Manacher算法 + 记录区间)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3294题目大意:输入一个字符ch和一个字符串,问如果把ch当作'a'的话,字符串的每个字符也要做相应变化,如b aa,若b为'a',则b前面的a就为'a'前面的'z',这里是循环表示,输出字符串的最长回文子串,如果最长回文子串串长为1,输出No solution!几乎是模板题,唯一的特别之处原创 2015-02-20 21:45:51 · 750 阅读 · 0 评论 -
HDU 5340 Three Palindromes( 折半枚举+Manacher+记录区间 )
Three PalindromesTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 809 Accepted Submission(s): 240Problem DescriptionCan we divided原创 2015-08-02 20:16:54 · 840 阅读 · 2 评论 -
HDU 5785 Interesting 2016 Multi-University Training Contest 5(Manacher)
题目链接:http://acm.hdu.edu.cn/contests/contest_showproblem.php?pid=1005&cid=708题意:对于长度1e6的字符串,某个字串区间[L, R]若可以分割成两个回文字串[L, mid]和[mid + 1, R],那么这个区间的权值为L * R, 不能分割则权值为0, 求所有区间的权值和。思路:用manacher算法O(n)求出所原创 2016-08-03 22:48:06 · 609 阅读 · 0 评论