51nod 1092 迴文字符串 【巧用 dp】

用原串和倒置串進行匹配 統計不同的單詞的個數 該個數即爲 需要添加的 也爲 需要刪除的


#include<bits/stdc++.h>
using namespace std;
const int  ma=1e3+10;
int dp[ma][ma];
int main(){
    ios::sync_with_stdio(false);
    string a,b;
    cin>>a;
    b=a;
    reverse(b.begin(),b.end());
    int n=b.size();
    for(int i=0;i<n;i++)
        for(int j=0;j<n;j++)
        {
            if(a[i]==b[j])
                dp[i+1][j+1]=dp[i][j]+1;
            else
                dp[i+1][j+1]=max(dp[i+1][j],dp[i][j+1]);
        }
    cout<<n-dp[n][n]<<endl;
    return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章