摘要: http://acm.timus.ru/problem.aspx?space=1&num=1297题意:求一串字符串的最长回文字串.......思路:在原串后面加一个独一无二的字符,再把原串倒过来接在原串后面。这样,要是有回文串的话,其必然有两个后缀的前缀相同这样,我们就可以枚举以每个字符为(k)中心的回文串,再找到它倒过来后所对应的那个位置2*len-sa[k],找到排在这之间的最小height值,也就是这两个字符串的最长公共前缀,也就是以(k)位置为中心的回文串.......根据height数组特性,lcp(i,j)=min(height[i+1],height[i+2]..... 阅读全文
posted @ 2013-06-09 20:04 紫忆 阅读(1192) 评论(0) 推荐(0) 编辑