字串距離(特長生2016) DP

2021-10-22 22:38:23 字數 972 閱讀 7198

>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的距離為每個對...