以下哪个选项是编辑距离问题的动态规划转移方程 A dp[i][j]=dp[i-1][j-1] 当a[i-1]==b[j-1] dp[i][j]=min(dp[i-1][j-1]+1, dp[i][j-1]+1, dp[i-1][j]+1) 当a[i-1]!=b[j-1] B dp[i][j]=dp[i-1][j-1] 当a[i-1]!=b[j-1] dp[i][j]=min(dp[i-1][j-1]+1, dp[i][j-1]+1, dp[i-1][j]+1) 当a[i-1]==b[j-1] C dp[i][j]=dp[i-1][j-1] 当a[i-1]==b[j-1] dp[i][j]=min(dp[i-1][j-1], dp[i][j-1], dp[i-1][j]) 当a[i-1]!=b[j-1] D dp[i][j]=dp[i-1][j-1] 当a[i-1]==b[j-1] dp[i][j]=min(dp[i][j-1]+1, dp[i-1][j]+1) 当a[i-1]!=b[j-1]
时间: 2023-10-08 14:07:55 浏览: 89
算法-动态规划- 线性 DP- 序列问题(包含源程序).rar
动态规划转移方程通常是dp[i][j]与dp[i-x][j-y]的关系,其中x和y是根据具体问题而定的。在编辑距离问题中,dp[i][j]表示将字符串a[0:i-1]转化为字符串b[0:j-1]所需的最小编辑距离。因此,答案是B。
当a[i-1]!=b[j-1]时,dp[i][j]的值可以由dp[i-1][j-1]、dp[i][j-1]和dp[i-1][j]这三个状态转移而来,分别对应于将a[i-1]替换为b[j-1]、在a[i-1]后面添加b[j-1]和在b[j-1]后面添加a[i-1]这三种编辑操作。因此,dp[i][j]=min(dp[i-1][j-1]+1, dp[i][j-1]+1, dp[i-1][j]+1)。
当a[i-1]==b[j-1]时,dp[i][j]的值可以由dp[i-1][j-1]转移而来,表示a[i-1]和b[j-1]相同,不需要编辑操作。因此,dp[i][j]=dp[i-1][j-1]。
阅读全文