标签:des style blog http color io os ar strong
Time Limit: 3000MS | Memory Limit: 65536K | |
Total Submissions: 53250 | Accepted: 18396 |
Description
Input
Output
Sample Input
5 Ab3bd
Sample Output
2
题目链接:Palindrome
思路:简单dp。头尾来一次最长公共子序列。用长度n-最长公共子序列即为答案。
1 /*====================================================================== 2 * Author : kevin 3 * Filename : Palindrome.cpp 4 * Creat time : 2014-09-25 10:31 5 * Description : 6 ========================================================================*/ 7 #include <iostream> 8 #include <algorithm> 9 #include <cstdio> 10 #include <cstring> 11 #include <queue> 12 #include <cmath> 13 #define clr(a,b) memset(a,b,sizeof(a)) 14 #define M 5005 15 using namespace std; 16 char str1[M]; 17 short int dp[M][M]; 18 int main(int argc,char *argv[]) 19 { 20 int n; 21 while(scanf("%d",&n) != EOF){ 22 scanf("%s",str1); 23 for(int i = 1; i <= n; i++){ 24 for(int j = 1; j <= n; j++){ 25 if(str1[i-1] == str1[n-j]){ 26 dp[i][j] = dp[i-1][j-1] + 1; 27 } 28 else{ 29 dp[i][j] = max(dp[i-1][j],dp[i][j-1]); 30 } 31 } 32 } 33 printf("%d\n",n - dp[n][n]); 34 } 35 return 0; 36 }
标签:des style blog http color io os ar strong
原文地址:http://www.cnblogs.com/ubuntu-kevin/p/3992480.html