編輯距離,又稱levenshtein距離(也叫做edit distance),是指兩個字串之間,由乙個轉成另乙個所需的最少編輯操作次數。許可的編輯操作包括將乙個字元替換成另乙個字元,插入乙個字元,刪除乙個字元。
例如將kitten一字轉成sitting:
sitten (k->s)
sittin (e->i)
sitting (->g)
所以kitten和sitting的編輯距離是3。俄羅斯科學家vladimir levenshtein在2023年提出這個概念。
給出兩個字串a,b,求a和b的編輯距離。
input
第1行:字串a(a的長度 <= 1000)。output第2行:字串b(b的長度 <= 1000)。
輸出a和b的編輯距離input示例
kittenoutput示例sitting
3
#pragma gcc optimize(2)
#include#include#include#include#includeusing namespace std;
const int maxn = 1500;
const int inf = 0x3f3f3f3f;
typedef long long ll;
char a[maxn], b[maxn];
int dp[maxn][maxn]; //a串的前i個字母轉換成b串的前j個字母的最短編輯距離
int main()
for (int i = 0; i <= m; i++)
for (int i = 1; i <= n; i++) }
printf("%d\n", dp[n][m]);
return 0;
}}
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)
題目描述 思路 設 d p i j dp i j dp i j 表示把字串a的前i個字元變成字串b的前j個字元的編輯距離,有轉移方程 d p i 1 j 1 dp i j a i b j 0 1 dp i j 1 1 dp i 1 j 1 end dp i 1 j 1 dp i j a i b j ...