字串的距離

2021-06-19 03:47:03 字數 847 閱讀 3107

題目:

題意:設有字串x,我們稱在x的頭尾及中間插入任意多個空格後構成的新字串為x的擴充套件串,如字串x為「abcbcd」,則

字串「abcb□cd」,「□a□bcbcd□」和「abcb□cd□」都是x的擴充套件串,這裡「□」代表空格字元。如果a1是字串a的擴充套件串,

b1是字串b的擴充套件串,a1與b1具有相同的長度,那麼我們定義字串a1與b1的距離為相應位置上的字元的距離總和,而兩個

非空格字元的距離定義為它們的ascii碼的差的絕對值,而空格字元與其它任意字元之間的距離為已知的定值k,空格字元與空

格字元的距離為o。在字串a、b的所有擴充套件串中,必定存在兩個等長的擴充套件串a1、b1,使得a1與b1之間的距離達到最小,我

們將這一距離定義為字串a、b的距離,請你寫乙個程式,求出字串a、b的距離。

#include #include #include #include using namespace std;

const int n = 2005;

char s[n],t[n];

int dp[n][n];

int work(char s,char t,int k)

int main()

{ int d;

while(cin>>s>>t>>d)

cout<

字串距離

給出兩個相同長度的由字元 a 和 b 構成的字串,定義它們的距離為對應位置不同的字元 的數量。如串 aab 與串 aba 的距離為 2 串 ba 與串 aa 的距離為 1 串 baa 和串 baa 的 距離為 0。下面給出兩個字串 s 與 t,其中 s 的長度不小於 t 的長度。我們用 s 代表 s...

字串的編輯距離

題目 對於乙個字串a可以通過增加乙個字元 刪除乙個字元 修改乙個字元,將字串a變成字串b,例如 a abcddefg b abcefg 可以通過a字串刪除兩個dd得到b字串,也可以通過b字串增加dd程式設計a字串,從上面的分析可以知道,增加和刪除的代價必須是相同的,這樣a字串變成b字串的代價和b字串...

計算字串的距離

levenshtein 距離,又稱編輯距離,指的是兩個字串之間,由乙個轉換成另乙個所需的最少編輯操作次數。許可的編輯操作包括將乙個字元替換成另乙個字元,插入乙個字元,刪除乙個字元。編輯距離的演算法是首先由 科學家levenshtein提出的,故又叫levenshtein distance。對於兩個字...