HDU - 3068 最长回文(马拉车Manacher)题解
思路:马拉车裸题,我们用一个p[i]数组代表以i为中心的最大回文半径。这里用了一个小技巧,如果一个串是aaaa这样的,那我们插入不相干的字符使它成为#a#a#a#a#,这样无论这个串是奇数还是偶数都会变成奇数,容易处理。马拉车的效率在于,在暴力处理前面的回文时,我们可以初始化后面的p[j],减少暴力的时间,这样复杂度就从O(n^2)变成了O(n)。这里要注意一下,我们得到的p[i]所指向的不一定是...
原创
2018-07-18 19:58:57 ·
254 阅读 ·
0 评论