字符串
cyl纤云弄巧
To Be
展开
-
HDU 5371
HDU 5371题意: 长度为n 的数列,现在有一种对称形式为aba (其中b与a对称),输出满足题意的最长的数列长度。思路: 用Manacher求出辅助数组Mp,然后重点来了。 若想求出上面的形式,不妨枚举b的起点,那么直接判断第二个a是否满足即可,还是利用到Mp的性质。#include <iostream>#include <cstdio>#include <cstring原创 2017-12-26 20:31:00 · 421 阅读 · 0 评论 -
回文串算法Manacher
回文串算法Manacher首先用一个非常巧妙的方式,将所有可能的奇数/偶数长度的回文子串都转换成了奇数长度:在每个字符的两边都插入一个特殊的符号。比如 abba 变成 #a#b#b#a#, aba变成 #a#b#a#。 为了进一步减少编码的复杂度,可以在字符串的开始加入另一个特殊字符,这样就不用特殊处理越界问题,比如#a#b#a#。 下面以字符串12212321为例,经过上一步,变成了 S[] =原创 2017-12-26 20:31:46 · 457 阅读 · 0 评论