51Nod 1183 編輯距離 DP

2022-04-10 02:17:55 字數 827 閱讀 1988

比較經典的問題,題意不多說了。跟最長公共子串行(lcs)類似。

dp[i][j]表示a字串0~i-1,b字串0~j-1最少編輯次數。

要是a[i] == b[j]的話,此時就不用改變,dp[i][j] = dp[i - 1][j - 1]

否則dp[i][j] = min(dp[i - 1][j], dp[i][j - 1], dp[i - 1][j - 1]) + 1

1

//#pragma comment(linker, "/stack:102400000, 102400000")

2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include

12 #include 13

using

namespace

std;

14 typedef long

long

ll;15 typedef pair p;

16const

int n = 1e3 + 5;17

intdp[n][n];

18char

a[n], b[n];

1920

intmain()

2131

for(int i = 1; i <= m; ++i)

37for(int i = 2; i <= n; ++i) else44}

45}46 cout << dp[n][m] <48return0;

49 }

51nod 1183 編輯距離 dp

1183 編輯距離 基準時間限制 1 秒 空間限制 131072 kb 分值 0 難度 基礎題 編輯距離,又稱levenshtein距離 也叫做edit distance 是指兩個字串之間,由乙個轉成另乙個所需的最少編輯操作次數。許可的編輯操作包括將乙個字元替換成另乙個字元,插入乙個字元,刪除乙個字...

51Nod 1183 編輯距離(dp)

題意 編輯距離,又稱levenshtein距離 也叫做edit distance 是指兩個字串之間,由乙個轉成另乙個所需的最少編輯操作次數。許可的編輯操作包括將乙個字元替換成另乙個字元,插入乙個字元,刪除乙個字元。例如將kitten一字轉成sitting sitten k s sittin e i ...

51nod 1183 編輯距離 (dp)

編輯距離,又稱levenshtein距離 也叫做edit distance 是指兩個字串之間,由乙個轉成另乙個所需的最少編輯操作次數。許可的編輯操作包括將乙個字元替換成另乙個字元,插入乙個字元,刪除乙個字元。例如將kitten一字轉成sitting sitten k s sittin e i sit...