POJ1159 Palindrome(最大回文串长度)
摘要:
回文串:给一个串,求最少增添几个字符能使之成为回文串例如:Ab3bd首尾增添2个dA成为Adb3bdA或dAb3bAd解法:动态规划;1)和杭电多校一题统计回文串的题很像,考虑能不能直接套用;2)还是先从动态规划的基本元素分析吧;设状态:dp[i][j]为第i位与第j位之间的串需要多少个最少字符才能组成回文串3)尝试写状态方程并判断最优子结构性质,无后效性(有向无环):Dp[i][j]=dp[i-1][j-1];(s[i]=s[j])Dp[i][j]=dp[i-1][j]+1发现dp[i][j]代表未配对的字符的值写方程很困难,那就换一个等价的角度,求最长回文串长度,只要拿总长度减去此值就可以 阅读全文
posted @ 2013-08-13 00:37 Gddxz 阅读(204) 评论(0) 推荐(0) 编辑