[luoguP2758] 编辑距离(DP)


传送门

f[i][j] 表示第一串前 i 个到第二串前 j 个的最小编辑距离

f[i][j] = f[i 1][j 1] (s1[i] == s2[j])

f[i][j] = min(f[i 1][j], f[i][j 1], f[i 1][j 1]) (s1[i] != s2[j])

边界 f[0][j] = j (1 <= j <= m)

   f[i][0] = i (1 <= i <= n)

——代码

1 #include <cstdio> 2 #include <cstring> 3 4 int n, m; 5 int f[2048][2048]; 6 char s1[2048], s2[2048]; 7 8 inline int min(int x, int y) 9 12 13 int main() 14 27 printf("%d\n", f[n][m]); 28 return 0; 29 }
View Code



上一篇:[BZOJ2120] 数颜色 &amp;&amp; [bzoj2453] 维护队列(莫队 || 分块)

下一篇:[luoguP1507] NASA的食物计划(DP)


DP
Copyright © 2002-2019 k262电脑网 www.k262.cn 皖ICP备2020016292号
温馨提示:部分文章图片数据来源与网络,仅供参考!版权归原作者所有,如有侵权请联系删除!QQ:251442993 热门搜索 网站地图