51Nod - 1183 编辑距离

问题:找出字符串的编辑距离,即把一个字符串s1最少经过多少步操作变成编程字符串s2,操作有三种,添加一个字符,删除一个字符,修改一个字符

 

解析:

首先定义这样一个函数——edit(i, j),它表示第一个字符串的长度为i的子串到第二个字符串的长度为j的子串的编辑距离。

显然可以有如下动态规划公式:

  • if i == 0 且 j == 0,edit(i, j) = 0
  • if i == 0 且 j > 0,edit(i, j) = j
  • if i > 0 且j == 0,edit(i, j) = i
  • if i ≥ 1  且 j ≥ 1 ,edit(i, j) == min{ edit(i-1, j) + 1, edit(i, j-1) + 1, edit(i-1, j-1) + f(i, j) },
  • 当第一个字符串的第i个字符不等于第二个字符串的第j个字符时,f(i, j) = 1;否则,f(i, j) = 0。
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
char a[1005],b[1005];
int dp[1005][1005];
int main()
{while(scanf("%s%s",a+1,b+1)!=EOF){int len1=strlen(a+1);int len2=strlen(b+1);for(int i=0;i<=len1;i++){dp[i][0]=i;}for(int j=0;j<=len2;j++){dp[0][j]=j;}for(int i=1;i<=len1;i++){for(int j=1;j<=len2;j++){dp[i][j]=min(dp[i-1][j-1]+(a[i]!=b[j]),min(dp[i-1][j]+1,dp[i][j-1]+1));        }}cout<<dp[len1][len2]<<endl;}return 0;
}

 

 

转载于:https://www.cnblogs.com/renwjing/p/7346013.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/487800.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

张亚勤2020寄语哥伦比亚大学毕业生:引领未知时代

(哥伦比亚大学巴特勒图书馆&#xff09;2020年5月18日&#xff0c;人工智能和数字视频的世界级科学家和企业家&#xff0c;美国艺术与科学院院士、百度前总裁、清华大学智能科学讲席教授张亚勤博士&#xff0c;在哥伦比亚大学工程学院的毕业典礼上发表了主题演讲。张亚勤说:“面…

oracle跳过undo回滚段启动,[Oracle] 解析在没有备份的情况下undo损坏怎么办

如果Oracle在运行中很不幸遇到undo损坏&#xff0c;当然最好的方法是完全恢复&#xff0c;不过如果没有备份&#xff0c;可以采用一种非常规的手段(利用Oracle的隐藏参数)&#xff0c;如果此时undo包含未提交的事务&#xff0c;会造成一点点的数据丢失(一般都是可忍受的)&#…

String s=hello;s+=world;s变化了吗?原始的String对象的内容变了吗?

分析: String s"hello";s"world"; 引用变量s 一开始指向String对象("hello" :0x001); ("world":0x002); s拼接后,就重新指向String对象("helloworld":0x003); 答:s改变了,原始的String对象 "hello" 内容并没有改变…

科技部部长:基础研究是科技创新“总开关”

来源&#xff1a;中国新闻网中新社北京5月19日电 (记者 孙自法)“基础研究是科技创新的‘总开关’&#xff01;”言及基础研究在中国科技发展、增强原始创新能力中的地位与作用&#xff0c;中国科学技术部部长王志刚这样概括道。国务院新闻办公室19日下午在北京举行加快建设创新…

php评论获取时间,WordPress函数comment_date获取评论发布时间

重要&#xff1a;本文最后更新于2019-01-10 08:41:31&#xff0c;某些文章具有时效性&#xff0c;若有错误或已失效&#xff0c;请在下方留言或联系代码狗。一般来说任何一条信息发布&#xff0c;发布时间就是它的重要组成部分。当评论者在你的WordPress网站发布评论留言时&…

从通用到专用,5G时代IP核的新故事

来源&#xff1a;半导体行业观察如同芯片在不断迭代&#xff0c;IP核也在不断进步。集成电路技术60年来基本遵循摩尔定律的演进规律。随着进入后摩尔时代&#xff0c;即两年一代技术更换的节奏开始放缓&#xff0c;设计和制造企业开始更加重视产品的多样化发展&#xff0c;而不…

连续信号与系统频域分析的matlab实现,实验十三 连续信号与系统频域分析的MATLB实现...

实验十三 连续信号与系统频域分析的MATLB实现 实验十三 连续信号与系统频域分析的 MATLAB 实现70实验十三 连续信号与系统频域分析的 MATLAB 实现一、实验目的 1. 掌握连续时间信号频谱特性的 MATLAB 分析方法&#xff1b;2.掌握连续系统的频率响应 MATLAB 分析方法方法。二、实…

[机器学习] Apriori算法

适用场合 Apriori算法包含两部分内容&#xff1a;1&#xff0c;发现频繁项集 2&#xff0c;挖掘关联规则。 通俗地解释一下&#xff0c;就是这个意思&#xff1a;1.发现哪些项目常常同时出现 2.挖掘这些常常出现的项目是否存在“如果A那么B”的关系。 举个例子&#xff1a;网店…

华为发布《自动驾驶网络解决方案白皮书》

来源&#xff1a;华为近日&#xff0c;全球分析师大会HAS 2020期间&#xff0c;华为面向全球发布《自动驾驶网络解决方案白皮书》&#xff0c;系统阐述未来网络架构、运维架构和其关键技术&#xff0c;通过网元、网络和云端的三层AI能力协同&#xff0c;使能网络走向极简超宽、…

linux服务器运维操作命令,Windows和Linux系统服务器运维基本操作指令

原标题&#xff1a;Windows和Linux系统服务器运维基本操作指令服务器总归是机械化设备&#xff0c;在运行过程中难免会出现一些问题&#xff0c;遇到这些问题怎么办&#xff1f;请运维人员代维修&#xff1f;即使请也会造成&#xff0c;运维人员维护不及时和成本太高的问题&…

百度大脑城市白皮书

来源 | 百度智能云&#xff08;转载请注明来源&#xff09;编辑 | 蒲蒲5月18日&#xff0c;百度智能云在大会上正式发布《百度城市大脑白皮书》。白皮书结合未来我国智慧城市发展重点&#xff0c;深入分析研究了我国智慧城市发展的背景和发展中的机遇&#xff0c;重点阐述了百度…

Python开发基础--- 进程间通信、进程池、协程

进程间通信 进程彼此之间互相隔离&#xff0c;要实现进程间通信&#xff08;IPC&#xff09;&#xff0c;multiprocessing模块支持两种形式&#xff1a;队列和管道&#xff0c;这两种方式都是使用消息传递的。 进程队列queue 不同于线程queue&#xff0c;进程queue的生成是用mu…

linux中sed命令用例,Linux中使用sed命令或awk命令修改常规配置文件

一、方案&#xff1a;Linux中使用sed命令或awk命令修改常规配置文件二、步骤&#xff1a;1、假设有一个a.txt&#xff0c;内容如下&#xff1a;#!/bin/bashaabbbccc#ddd2、如果想要把里面的内容bbb23输出成bbb55&#xff0c;可以这样做&#xff1a;sed s/bbb23/bbb55/g a.txt说…

当AI主播和人越来越像,我们该怎么办?

这个视频还原了一个有趣&#xff0c;但又值得思考的事情。当AI主播的声音变得和真人几乎一样&#xff0c;且富有情感&#xff0c;我们的阅读习惯是否会发生翻天覆地的改变&#xff1f;毕竟&#xff0c;相比图文类资讯&#xff0c;“聆听模式”不仅能给用户提供更沉浸式的阅读体…

linux 禁用 内核 驱动程序,Linux设备驱动程序学习----5.模块的初始化和关闭

模块的初始化和关闭1. 初始化函数模块的初始化函数负责注册模块所提供的任何设施&#xff0c;即可以被应用程序访问的新功能&#xff0c;可能是一个完整的驱动程序或者仅仅是一个新的软件抽象。初始化函数的定义通常如下所示&#xff1a;static int __init initialization_func…

python数据分析笔记中panda(2)

1 将手机号码分开为运营商&#xff0c;地区和号码段 1 from pandas import read_csv;2 3 df read_csv("H:\\pythonCode\\4.6\\data.csv");4 5 6 #转换成字符数据 方便用slice7 df[tel] df[tel].astype(str);8 9 #字符的抽取&#xff1a;根据已知列数…

刘忠范院士:新型研发机构建设成了口号

来源&#xff1a;科学网作者 | 郑金武编辑 | 宗华排版 | 华园● 刘忠范认为&#xff0c;如果只是单纯地再建一两所研究机构&#xff0c;在机制、理念上与现有的高校和研究院所没有差别&#xff0c;那就是在“1000”的基础上再加“1”&#xff0c;对现有的科研格局不会带来任何改…

launchMode

launchMode在多个Activity跳转的过程中扮演着重要的角色&#xff0c;它可以决定是否生成新的Activity实例&#xff0c;是否重用已存在的Activity实例&#xff0c;是否和其他Activity实例公用一个task里。这里简单介绍一下task的概念&#xff0c;task是一个具有栈结构的对象&…

linux属性表示的文件,Linux基础入门:文件和目录属性的含义

比如 &#xff1a;[rootistester isTester]# lltotal 12drwxr-xr-x 2 root root 4096 May 21 17:58 21Day-rw-r-xr-- 1 root root 6 May 14 16:04 idoxu.ini-rw-r--r-- 1 root root 0 May 21 17:12 istester.ini-rw-r--r-- 1 root root 10 May 14 16:02 README.md解释&…

一线工程师如何看待《没了美国的EDA软件,我们就不能做芯片了》

来源&#xff1a;真视界这些天看了不少讲国内EDA情况的帖子&#xff0c;有客观的也有极其离谱的&#xff0c;作为一名从业十余年的芯片设计工程师&#xff0c;我以一线从业者的角度来谈谈我们在实际工作中的EDA软件使用情况究竟是怎样的吧。先回答个很常见的问题&#xff1a;没…