P1279 字串距離

2022-03-09 06:37:04 字數 946 閱讀 7180

p1279 字串距離

一看就是字串dp,然而並不會,騙分之後爆零了。以後dp題要好好想想轉移方程。f[i][j]表示是a串選了前i個字元,b串選了前j個字元的距離。顯然(qaq)

f[i][j]=min(min(f[i-1][j]+k,f[i][j-1]+k),f[i-1][j-1]+abs(a[i]-b[j]));

1 #include2 #include3 #include4 #include5 #include6 #include7 #include8 #include9 #include

10 #include11

#define inf 2147483647

12#define for(i,a,b) for(register int i=a;i<=b;i++)

13#define p(a) putchar(a)

14#define g() getchar()

15//

by war

16//

2017.10.25

17using

namespace

std;

18char a[2010],b[2010

];19

intl1,l2;

20int f[2010][2010

];21

intk;

2223

void

in(int &x)

2433

while(c<='

9'&&c>='

0')x=x*10+c-'

0',c=g();

34 x*=y;35}

36void o(int

x)37

43if(x>9)o(x/10

);44 p(x%10+'0'

);45}46

intmain()

47

P1279 字串距離

設有字串x,我們稱在x的頭尾及中間插入任意多個空格後構成的新字串為x的擴充套件串,如字串x為 abcbcd 則字串 abcb cd a bcbcd 和 abcb cd 都是x的擴充套件串,這裡 代表空格字元。如果a1是字串a的擴充套件串,b1是字串b的擴充套件串,a1與b1具有相同的長度,那麼我捫定...

P1279 字串距離

轉移方程還是很容易想到 dp i,j min dp i 1 j 1 abs min dp i,j 1 dp i 1,j 1 但是我寫完之後發現答案就是不對 看完別人的code之後 才發現還要初始化!因為這個dp我們是對後面的字元進行操作 沒有包含到在第乙個字串前加入很多個空格 include inc...

洛谷 P1279 字串距離

設有字串x,我們稱在x的頭尾及中間插入任意多個空格後構成的新字串為x的擴充套件串,如字串x為 abcbcd 則字串 abcb cd a bcbcd 和 abcb cd 都是x的擴充套件串,這裡 代表空格字元。如果a1是字串a的擴充套件串,b1是字串b的擴充套件串,a1與b1具有相同的長度,那麼我捫定...