解题报告PKU1159 最长公共字串 回文串 DP
来源:互联网 发布:奇葩说人工智能哪一期 编辑:程序博客网 时间:2024/06/02 17:07
Palindrome
Time Limit: 3000MS
Memory Limit: 65536K
Total Submissions: 31491
Accepted: 10509
Description
A palindrome is a symmetrical string, that is, a string read identically from left to right as well as from right to left. You are to write a program which, given a string, determines the minimal number of characters to be inserted into the string in order to obtain a palindrome.
As an example, by inserting 2 characters, the string "Ab3bd" can be transformed into a palindrome ("dAb3bAd" or "Adb3bdA"). However, inserting fewer than 2 characters does not produce a palindrome.
Input
Your program is to read from standard input. The first line contains one integer: the length of the input string N, 3 <= N <= 5000. The second line contains one string with length N. The string is formed from uppercase letters from 'A' to 'Z', lowercase letters from 'a' to 'z' and digits from '0' to '9'. Uppercase and lowercase letters are to be considered distinct.
Output
Your program is to write to standard output. The first line contains one integer, which is the desired minimal number.
Sample Input
5
Ab3bd
Sample Output
2
题目要求计算在给定的串中添加至少几个字符能使原来的串构成回文串,这题可以利用最长公共字串求解,设给定长度为n的字符串s,其反向串为ts,则s和ts的最长公共字串就是能够构成回文串的部分,用n减去最长公共字串的长度就是最少需要添加的字符数.
代码如下:
- 解题报告PKU1159 最长公共字串 回文串 DP
- PKU1458 最长公共字串 DP
- PKU2250 最长公共字串 DP
- PKU1080 最长公共字串 DP
- 最长公共字串算法-构造回文问题
- DP---最长公共子序列&最长公共字串
- Leetcode 409. Longest Palindrome 构造最长回文串 解题报告
- HDU3068 最长回文串 解题报告【字符串】【Manacher】
- 【DP】 最长公共回文子序列
- 回文字符串【最长公共子序列】【DP】
- 【解题报告】uva10405_Longest Common Subsequence(最长公共子序列, dp)
- 最长回文字串
- 求解最长回文字串
- 最长回文字串
- 最长回文字串
- 最长回文字串
- 最长回文字串
- 最长回文字串
- VS2008安装WTL
- Open Source Next Generation Intrusion Detection and Prevention Engine
- jQuery 1.4中json的改变
- VC 链接报错: LNK1106 解决办法
- 打印Gridview
- 解题报告PKU1159 最长公共字串 回文串 DP
- 多维数组与指针
- ubuntu8.10网络配置
- [Java] Java踩地雷产生程式
- 关于进程、线程和轻量级进程,线程模型
- QTP-SetTOProperty
- 利用Struts的Validator验证框架实现客户端和服务器端双验证
- (摘录)IsPostBack深入探讨
- 给函数返回值赋值--引用返回左值