标签:dp
1 Ab3bd
2
思路:
先求出原串和反串的LCS的长度,ans=len-LCS.lenth
代码:
#include<cstdio> #include<cstring> #include<algorithm> using namespace std; char s[1005]; char ss[1005]; int dp[1005][1005]; int main() { int t; scanf("%d",&t); while(t--) { scanf("%s",s+1); int len=strlen(s+1);//注意要写s+1 int k=1; for(int i=len;i>=1;i--) { ss[k++]=s[i]; } memset(dp,0,sizeof(dp)); for(int i=1;i<=len;i++) { for(int j=1;j<=len;j++) { if(s[i]==ss[j]) { dp[i][j]=dp[i-1][j-1]+1; } else { dp[i][j]=max(dp[i-1][j],dp[i][j-1]); } } } int ans=len-dp[len][len]; printf("%d\n",ans); } return 0; }
标签:dp
原文地址:http://blog.csdn.net/xky1306102chenhong/article/details/45374339