>link
>解題思路
比賽的時候打的dp打掛了?
由題意得,兩個空格相互匹配的情況距離為0,所以我們可以不用理這種情況
陣列f i,
jf_
fi,j
表示第乙個字串a
aa前i
ii個字元與第二個字串b
bb前j
jj個字元相匹配,所得的最短距離
所以可得狀態轉移方程:
f i,
j=mi
n=min\left\f_+|a_i-b_j|(兩個字元相匹配) \\ f_+k(a_i與空格匹配) \\ f_+k(b_j與空格匹配) \end\right.
fi,j=
min⎩
⎨⎧f
i−1,
j−1
+∣ai
−bj
∣(兩
個字元相
匹配)f
i−1,
j+k
(ai
與空格匹
配)fi
,j−1
+k(
bj與
空格匹配
)>**
#include
#include
#include
#include
#include
#define n
2010
using namespace std;
int n, m, k, f[n]
[n];
string a, b;
int main()
printf
("%d"
, f[n]
[m])
;return0;
}
2016東莞市特長生考試 字串距離 dp
2016東莞市特長生考試 字串距離 description 設有字串 x,我們稱在 x 的頭尾及中間插入任意多個空格後構成的新字元 串為 x 的擴充套件串,如字串 x 為 abcbcd 則字串 abcb cd a bcbcd 和 abcb cd 都是 x 的擴充套件串,這裡 代表空格字元。如果 a1...
4 21特長生模擬 字串編輯
規則的形式如下 原串 新串,表示把原串替換成新串。假設有n條規則,第i規則的原串和新串分別為mi和ni,則編輯按如下過程進行 開始編輯時,先使用第一條規則,把文章中出現的第乙個m1替換成n1,如果替換後的新文章還存在m1,則如上處理,直到文章不存在m1為止 然後用同樣的方法使用第2,第3,第n條規則...
216 DP 字串距離
description 給出兩個由小寫字母組成的字串 x 和y 我們需要算出兩個字串的距離,定義如下 1 我們可以在字串的頭 尾 中間插入若干空格,組成乙個新的擴充套件串 2 對x擴充套件成擴充套件串x1,對y擴充套件成擴充套件串y1,並且令x1和y1具有相同的長度 3 定義x1 y1的距離為每個對...