Generating Palindromes 【区间DP】

题目链接:?problem=1033 题意:至少添加几个字符,能使得给定的串变为回文串。 解法:枚举起点终点,,进行DP; 代码:

;int t;char s[1010];int dp[1010][1010]; int main(){scanf(“%d”,&t);for (int ca = 1; ca <= t;ca++){memset(dp,0,sizeof(dp));scanf(“%s”,s+1);int n = strlen(s+1);for (int i = n; i >= 1; i–)for (int j = i+1; j <= n; j++){if (s[i] == s[j])dp[i][j] = dp[i + 1][j – 1];elsedp[i][j] = min(dp[i+1][j],dp[i][j-1]) + 1;}printf(“Case %d: %d\n”,ca,dp[1][n]);}return 0;}

既有美妙的风景,也会有称不上景只有风的地方。

Generating Palindromes 【区间DP】

相关文章:

你感兴趣的文章:

标签云: