AcWing 902. 最短编辑距离

news2024/11/13 20:37:04

视频讲解:

【E07 线性DP 编辑距离】
在这里插入图片描述

在这里插入图片描述
两套代码的字符串存储数组都是从1开始存储的!!!!
硬套公式:

#include<iostream>
#include<algorithm>
const int  N = 1010;
using namespace std;
int n,m;
char a[N],b[N];
int f[N][N];
int main(){

    cin >> n >> a + 1 >> m >> b + 1;
    for(int i = 0 ; i <= m ; ++ i) f[0][i] = i;
    for(int i = 0 ; i <= n ; ++ i) f[i][0] = i;
    for(int i = 1;i <= n; ++ i){
        for(int j = 1; j <= m ; ++ j){
            // f[i][j] = min(f[i - 1][j] , f[i][j - 1] ) + 1;
            // if(a[i] == b[j]) f[i][j] = min(f[i][j] , f[i - 1][j - 1]);
            // else f[i][j] = min(f[i - 1][j - 1] + 1,f[i][j]) ;
            if(a[i]==b[j]) f[i][j] = f[i-1][j-1];
            else{
                f[i][j] = min(min(f[i-1][j-1],f[i-1][j]),f[i][j-1])+1;
            }
        }
    }
    cout << f[n][m];
    return 0;
}

标准答案

#include<iostream>
#include<algorithm>
const int  N = 1010;
using namespace std;
int n,m;
char a[N],b[N];
int f[N][N];
int main(){

    cin >> n >> a + 1 >> m >> b + 1;
    for(int i = 0 ; i <= m ; ++ i) f[0][i] = i;
    for(int i = 0 ; i <= n ; ++ i) f[i][0] = i;
    for(int i = 1;i <= n; ++ i){
        for(int j = 1; j <= m ; ++ j){
            f[i][j] = min(f[i - 1][j] , f[i][j - 1] ) + 1;
            if(a[i] == b[j]) f[i][j] = min(f[i][j] , f[i - 1][j - 1]);
            else f[i][j] = min(f[i - 1][j - 1] + 1,f[i][j]) ;
        }
    }
    cout << f[n][m];
    return 0;
}

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

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

相关文章

文心快码前端工程师观点分享:人机协同新模式的探索之路(一)

&#x1f381;&#x1f449;点击进入文心快码 Baidu Comate 官网&#xff0c;体验智能编码之旅&#xff0c;还有超多福利&#xff01;&#x1f381; 本系列视频来自百度工程效能部的前端研发经理杨经纬&#xff0c;她在由开源中国主办的“AI编程革新研发效能”OSC源创会杭州站1…

mysql基础练习题 1082.销售分析1 (力扣)

1082.编写解决方案&#xff0c;找出总销售额最高的销售者&#xff0c;如果有并列的&#xff0c;就都展示出来。 题目链接&#xff1a; https://leetcode.cn/problems/sales-analysis-i/description/ 建表插入数据&#xff1a; Create table If Not Exists Product (product…

[数据集][目标检测]玉米病害检测数据集VOC+YOLO格式6000张4类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;6000 标注数量(xml文件个数)&#xff1a;6000 标注数量(txt文件个数)&#xff1a;6000 标注…

提升学术写作效率:ChatGPT的70个必知技巧!

于其卓越的性能&#xff0c;ChatGPT极大地提升了各行各业的工作效率。正确运用关键词是激发ChatGPT潜能的关键。歪歪学长精心挑选了一系列关键词&#xff0c;通过这些关键词的运用&#xff0c;不仅能简化写作流程&#xff0c;还能提升学术研究成果。共有14个方面&#xff0c;全…

Java 入门指南:Java 并发编程 —— ReentrantLock 实现悲观锁(Pessimistic Locking)

悲观锁 悲观锁&#xff08;Pessimistic Locking&#xff09;是一种悲观的并发控制机制&#xff0c;它基于悲观的假设&#xff0c;即并发冲突会时常发生&#xff0c;因此在访问共享资源&#xff08;如数据库记录或共享变量&#xff09;之前&#xff0c;会先获取独占性的锁&…

内存管理篇-17解开页表的神秘面纱-下

1.页表初探遗留问题-页表的创建过程 使用MMU之前&#xff0c;页表要准备好&#xff0c;怎么准备的&#xff1f;如何把物理内存通过section映射构建页表页表的创建过程分析&#xff1a;__create_page_tables--创建临时页表&#xff0c;然后在开启MMU 页表的大小和用途页表在内存…

您应该使用哪个矢量数据库? 选择最适合您需求的数据库

导言 矢量数据库已成为存储非结构化和结构化数据表示并编制索引的首选。 这些表征被称为向量嵌入&#xff0c;由嵌入模型生成。 向量存储在利用深度学习模型&#xff08;尤其是大型语言模型&#xff09;的应用开发中发挥着至关重要的作用。 什么是矢量数据库&#xff1f; 在…

中国文化艺术孙溟展浅析《绛帖》

孙溟展浅析《绛帖》 《绛帖》是汇集摹刻众多名帖。北宋时潘师旦共摹刻二十卷&#xff0c;以《淳化阁帖》为基础有增加和删减&#xff0c;因为是在降州《今山西新降》摹刻的故此而得名。 《绛帖》 《绛帖》 《绛帖》 《绛帖》 据传潘师旦去世后&#xff0c;他的两个儿子各…

双硬盘双系统怎么装?双硬盘双系统安装教程(win7+win10双系统)

最近有很网友想双硬盘装双系统&#xff0c;考虑到如果哪块硬盘坏了我另一块硬盘还可以启动&#xff0c;以防万一硬盘坏了一块无法使用问题&#xff0c;今天小编给大家带来的双硬盘双系统方法教程。 相关推荐&#xff1a; 如何安装双系统?安装双系统详细步骤 双系统怎么设置启动…

个人旅游网(2.1)——使用阿里云在springboot项目中发送短信

文章目录 一、背景介绍二、详细步骤2.1、申请资质2.2、申请签名2.3、申请模板2.4、申请accessKey秘钥对2.5、SDK的使用[!]2.5.1、项目中导入依赖2.5.2、发短信的工具类 一、背景介绍 验证码发送背后的功能原理图&#xff1a; 想要在项目中实现上述发送验证码的功能&#xff0c…

操作系统面试真题总结(三)

文章收录在网站&#xff1a;http://hardyfish.top/ 文章收录在网站&#xff1a;http://hardyfish.top/ 文章收录在网站&#xff1a;http://hardyfish.top/ 文章收录在网站&#xff1a;http://hardyfish.top/ 什么是进程&#xff1f; 在操作系统中&#xff0c;进程是指正在执…

8月31复盘日记

8月31复盘日记 前言今日感恩今日记录今日感悟今日名言 前言 昨天因为回到宿舍比较晚&#xff0c;所以来不及进行记录。   昨天早上五点多就醒了&#xff0c;可能是睡眠质量特别好&#xff0c;基本一倒头就是深度睡眠。所以我直接就起床去健身房运动&#xff0c;练了臀和核心&…

FastAPI+Vue3零基础开发ERP系统项目实战课 20240831上课笔记 路径参数

遗留的问题 3、FastAPI4、MySQL85、SQLModel&#xff0c;和FastAPI框架是同一个作者&#xff0c;两者结合比较好用&#xff0c;但是学习成本较高&#xff0c;使用难度稍大6、Vue37、Tailwindcss8、Ant Design Vue&#xff0c;UI组件库9、数据同步&#xff1a;有一个API&#x…

基于卷积神经网络的磨削平板类零件擦伤检测

基于卷积神经网络的磨削平板类零件擦伤检测 前言正文 前言 还记得读研那会儿刚学习完了卷积神经网络&#xff0c;初步学会了最基础的分类问题&#xff0c;当时也有点python基础&#xff0c;同时对TensorFlow也有点入门了。正好我的课题中有一类缺陷比较难以用传统方法识别判断&…

Vue60 插槽

插槽 作用&#xff1a;让父组件可以向子组件指定位置插入html结构&#xff0c;也是一种组件间通信的方式&#xff0c;适用于 父组件 > 子组件 。 分类&#xff1a;默认插槽、具名插槽、作用域插槽 使用方式&#xff1a; 默认插槽&#xff1a; 父组件中&#xff1a;<Cat…

聊聊 OceanBase 资源管理

OceanBase 是分布式多租户架构数据库&#xff0c;其分布式集群从资源角度看可以分成集群、Zone、OB Server、资源池和租户等几个层次。 今天我们从集群和资源两个层次梳理 OceanBase 资源管理相关的概念。 OceanBase 集群管理 OceanBase 集群包含若干个Zone&#xff0c;一个Z…

CRE6511KL 原边SOP7电源芯片

CRE6511KL 是一款内置高压 BJT 功率开关管,5W多模式原边控制的开关电源芯片。CRE6511KL较少的外围元器件、较低的系统成本设计出高性能的交直流转换开关电源。CRE6511KL 提供了极为全面和性能优异的智能化保护功能&#xff0c;包括逐周期过流保护、软启动、芯片过温保护、输出过…

Hot Chips 2024:博通(Broadcom)展示AI计算ASIC的光学连接

引言 在2024年的Hot Chips会议上&#xff0c;博通展示了其最新的AI计算专用集成电路&#xff08;ASIC&#xff09;&#xff0c;这款ASIC集成了光学连接技术。这一展示不仅体现了博通在定制AI加速器领域的领先地位&#xff0c;也预示着未来数据中心网络技术的一个重要发展方向。…

Ubuntu上qt使用SSH样式表

SSH样式表 如果学习过web的同学都知道&#xff0c;我们在学习HTML的时候会用到样式表&#xff0c;我们使用它来更改我们的颜色、大小、背景等等。上到后面&#xff0c;老师会说&#xff1a;我们如果在HTML文件中编辑太多的样式&#xff0c;就会让代码看起来非常的繁琐&#xf…

Obsidian个人知识库搭建流程

Obsidian的安装 Obsidian官网 个人博客搭建 xlog【使用xlog搭建个人博客Step by Step】 知乎【使用xlog搭建个人博客Step by Step】