轉移方程還是很容易想到
dp[i,j]=min(dp[i-1][j-1]+abs(),min(dp[i,j-1],dp[i-1,j])+1);
但是我寫完之後發現答案就是不對
看完別人的code之後 才發現還要初始化!!!!
因為這個dp我們是對後面的字元進行操作 沒有包含到在第乙個字串前加入很多個空格
#include#include#include#includeusing namespace std;
int a[2010][2010];
char s1[2010];
char s2[2010];
int len1,len2;
int k;
void dp()
}}void ini() //需要一點點預處理
for(int i=1;i<=len2;i++)
}int main()
P1279 字串距離
設有字串x,我們稱在x的頭尾及中間插入任意多個空格後構成的新字串為x的擴充套件串,如字串x為 abcbcd 則字串 abcb cd a bcbcd 和 abcb cd 都是x的擴充套件串,這裡 代表空格字元。如果a1是字串a的擴充套件串,b1是字串b的擴充套件串,a1與b1具有相同的長度,那麼我捫定...
P1279 字串距離
p1279 字串距離 一看就是字串dp,然而並不會,騙分之後爆零了。以後dp題要好好想想轉移方程。f i j 表示是a串選了前i個字元,b串選了前j個字元的距離。顯然 qaq f i j min min f i 1 j k,f i j 1 k f i 1 j 1 abs a i b j 1 incl...
洛谷 P1279 字串距離
設有字串x,我們稱在x的頭尾及中間插入任意多個空格後構成的新字串為x的擴充套件串,如字串x為 abcbcd 則字串 abcb cd a bcbcd 和 abcb cd 都是x的擴充套件串,這裡 代表空格字元。如果a1是字串a的擴充套件串,b1是字串b的擴充套件串,a1與b1具有相同的長度,那麼我捫定...