#iai21b1. 编辑距离(Edit-Distance)

编辑距离(Edit-Distance)

编辑距离

题目描述

给定两个字符串 sstt,请计算 sstt 的编辑距离。所谓编辑距离,就是最少进行多少步修改可以将 ss 变成 tt,每次修改操作可以从以下操作选择一种:

  • 插入一个字符
  • 删除一个字符
  • 替换一个字符

编辑距离是一个很重要的概念,比如:

  • 微信公众号有个规定:已经发表的文章,只能修改 2020 个字。所以公众号的运营人员需要仔细计算新旧文章的编辑距离。
  • DNA 是由 actg 四个字母组成的字符串,编辑距离可以规划编辑 DNA 的最佳方案。

输入格式

  • 第一行:一个字符串 ss,由小写英文字符组成
  • 第二行:一个字符串 tt,由小写英文字符组成

输出格式

  • 单个整数:表示两个字符串的编辑距离

样例输入 #1

atcg
tcga

样例输出 #1

2

样例说明 #1

删除第一个 a,然后在字符串尾部再加一个 a。

样例输入 #2

abcdefg
gfedcba

样例输出 #2

6

数据范围

  • 1s20001\le |s|\le 2000
  • 1t20001\le |t|\le 2000

测试点分布

Subtask 分值 测试点编号 说明
0 10 1~2 样例
1 20 3~8 小规模长度≤10 / 特殊: 完全相同 / 特殊: 完全不同
2 15 9~11 Hack: 单字符 / Hack: 一长一短 / Hack: 仅插入删除
3 30 12~20 中规模长度≈100~1000 / 大规模长度≈2000 压力
4 25 21~25 随机长度=1~2000 回归