标签:
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