manacher算法(回文字符串)
定义数组p[i]表示以i为中心的(包含i这个字符)回文串半径长将字符串s从前扫到后for(int i=0;i<strlen(s);++i)来计算p[i],则最大的p[i]就是最长回文串长度,则问题是如何去求p[i]?由于s是从前扫到后的,所以需要计算p[i]时一定已经计算好了p[1]....p[i-1]假设现在扫描到了i+k这个位置,现在需要计算p[i+k]定义maxlen是i+k位置前所有...
转载
2018-05-18 13:09:01 ·
245 阅读 ·
0 评论