标签:
Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 3918 Accepted Submission(s):
1340
#include<stdio.h> #include<string.h> #define MAX 5010 #define max(x,y)(x>y?x:y) char s1[MAX],s2[MAX]; int dp[2][MAX]; int main() { int i,j; int t; while(scanf("%d",&t)!=EOF) { scanf("%s",s1); for(i=t-1,j=0;i>=0;i--) s2[j++]=s1[i]; memset(dp,0,sizeof(dp)); for(i=1;i<=t;i++) { for(j=1;j<=t;j++) { dp[0][j]=dp[1][j]; dp[1][j]=dp[2][j]; if(s1[i-1]==s2[j-1]) dp[1][j]=dp[0][j-1]+1; else dp[1][j]=max(dp[1][j-1],dp[0][j]); } } printf("%d\n",t-dp[1][t]); } return 0; }
hdoj 1513 Palindrome【LCS+滚动数组】
标签:
原文地址:http://www.cnblogs.com/tonghao/p/4718686.html