Pku acm 1159 Palindrome

来源:互联网 发布:卖淘宝小号的 编辑:程序博客网 时间:2024/06/05 06:26

http://acm.pku.edu.cn/JudgeOnline/problem?id=1159

给一个字符串,求这个字符串最少增加几个字符能变成回文,如Ab3bd可以增加2个字符变为回文:Adb3bdA。通过这样的结论可以和最长公共子串联系起来(未证明)SS' (:S'S的反串)的最长公共子串其实一定是回文的。这样我们就可以借助lcs来解决该题,即s的长度减去lcs的值即可。核心的Java代码为

total-LCS(string,new StringBuffer(string).reverse().toString());

//函数LCS返回两个stringlcs的长度

带有详细注释的代码可以在http://download.csdn.net/user/china8848/获得

 

原创粉丝点击