chenchen題解 最短編輯距離

2021-10-08 14:58:51 字數 817 閱讀 8303

blablablablablablablablablabla 傳送門

刪除–將字串a中的某個字元刪除,操作次數f[i-1][j] + 1插入–在字串a的某個位置插入某個字元,操作次數f[i][j-1] + 1替換–將字串a中的某個字元替換為另乙個字元,需要分兩種情況討論:

i.a[i]==b[j],操作次數f[i-1][j-1]

ii.a[i]!=b[j],操作次數f[i-1][j-1] + 1

f[i][j] = min

初始狀態:

f[0][i] = i,字串a中插入i個字元

f[i][0] = i,字串a中刪除i個字元 o(m

∗n

)o(m*n)

o(m∗n)

#include

using

namespace std;

const

int n=

1010

;int m,n,f[n]

[n];

char a[n]

,b[n]

;int main (

) cin>>m;

for(

int i=

1;i<=m;i++

)for

(int i=

1;i<=n;i++)}

cout<[m];

}

chenchen題解 最短編輯距離

blablablablablablablablablabla 傳送門 狀態表示 dp i j 表示將字串a中前i個字元編輯成字串b中前j個字元所要進行的最少操作 狀態計算,根據操作將集合劃分為3類 刪除 將字串a中的某個字元刪除,操作次數dp i 1 j 1插入 在字串a的某個位置插入某個字元,操作...

chenchen題解 Trie字串統計

維護乙個字串集合,支援兩種操作 1.i x 向集合中插入乙個字串x q x 詢問乙個字串在集合 現了多少次。共有n個操作,輸入的字串總長度不超過 10 5 字串僅包含小寫英文本母。輸入格式 第一行包含整數n,表示運算元。接下來n行,每行包含乙個操作指令,指令為 i xix 或 q xqx 中的一種。...

chenchen題解 最長不下降子串行

blablablablablablablablablabla 傳送門 dp題狀態表示 dp i 表示到i個字元的最長不下降子串行的長度 狀態轉移 每當當前的子串行為上公升且長度大於maxx時,就更新maxx o n 2 o n 2 o n2 include using namespace std c...