[SDOI2006]最短距离题解
[SDOI2006]最短距离题解——HM题目描述一种EDIT字母编辑器它的功能是可以通过不同的变换操作可以把一个源串X [l..m]变换为新的目标串y[1..n]。EDIT提供的变换操作有源串中的单个字符可被删除(delete)被替换 (replace)被复制到目标串中去(copy)字符也可被插入(insert)源串中的两个相邻字符可进行交换并复制到目标串中去(twiddle)在完成其它所有操作之后源串中余下的全部后缀就可用删至行末的操作删除(kill)。例如将源algorithm转换成目标串altruistic的一种方法是采取下面的操作序列:要达到这个结果还可能有其它一些操作序列。操作delete,replacecopyinserttwiddle和kill中每一个都有一个相联系的代价cost。例如cost(delete)3; cost(replace)6; cost(copy)5; cost(insert)4; cost(twiddle)4; cost(kill)被删除的串长*cost(delete)-1;一个给定的操作序列的代价为序列中各操作代价之和。 例如上述操作序列的代价为3*cost(copy)2*cost(replace)cost(delete)3*cost(insert) cost(twiddle) cost(kill)3*52*633*441*3-148编程任务给定两个序列x[1..m],y[1..n]和一些操作代价集合X到Y的最短距离为将X转化为Y的最小的转换序列的代价。请给出一个算法来找出x[1..m]至y[1..n]的最短距离。输入格式第一行源序列x[1..m]。m200第二行目标序列y[1..n]。(n200)第三行5个正整数100分别是delete 、replace 、copy、 insert、 twiddle的代价。输出格式X到Y的最短距离最小代价和。输入输出样例输入 #1algorithm altruistic 3 6 5 4 4输出 #148题解一道挺考验码力的题。看完题目应该会发现这是一道dp题但dp方程比较复杂因为状态比较多。设我们有dp[i][j]表示初始串操作到第i位目标串完成到第j位则各个操作的状态转移方程为delete:dp[i][j]min(dp[i][j],dp[i-1][j]cost[1])replace:dp[i][j]min(dp[i][j],dp[i-1][j-1]cost[2])copydp[i][j]min(dp[i][j],dp[i-1][j-1]cost[3])insert:dp[i][j]min(dp[i][j],dp[i][j-1]cost[4])twiddle:dp[i][j]min(dp[i][j],dp[i-2][j-2]cost[5])kill:dp[Len1][Len2]min(dp[Len1][Len2],dp[i][Len2]cost[1]*(Len1-i)-1)解释一下delete操作中将初始串第i位的前一位即删除一个字符时加上删除代价便是状态将其与当前状态比较即可。前5个操作都是如此可以理解一下应该比较简单吧。最后一个操作也很好理解因为kill操作优于delete操作(最后-1)当目标串已经完成时进行枚举按照题目要求进行操作即可。大约就这样了注意每个情况的条件与特殊情况即可。附代码#include bits/stdc.h using namespace std; const int SIZE205; const int INF0x3f3f3f3f; #define ll long long char s1[SIZE],s2[SIZE]; int dp[SIZE][SIZE],cost[10]; int Len1,Len2; int main() { // cins1s2; scanf(%s%s,s11,s21); for (int i1;i5;i) scanf(%d,cost[i]); Len1strlen(s11); Len2strlen(s21); memset(dp,INF,sizeof(dp)); if (Len1!0 Len20){ printf(%d,Len1*cost[1]); return 0; } if (Len10 Len2!0){ printf(%d,Len2*cost[4]); return 0; } dp[0][0]0; for (int i1;iLen1;i) dp[i][0]i*cost[1]; for (int i1;iLen2;i) dp[0][i]i*cost[4]; for (int i1;iLen1;i) for (int j1;jLen2;j){ if (s1[i]s2[j]) dp[i][j]min(dp[i][j],dp[i-1][j-1]cost[3]); dp[i][j]min(dp[i][j],min(dp[i-1][j-1]cost[2],min(dp[i-1][j]cost[1],dp[i][j-1]cost[4]))); if (i1 || j1) continue; if (s1[i-1]s2[j] s1[i]s2[j-1]) dp[i][j]min(dp[i][j],dp[i-2][j-2]cost[5]); } for (int i1;iLen1;i) dp[Len1][Len2]min(dp[Len1][Len2],(Len1-i)*cost[1]dp[i][Len2]-1); printf(%d,dp[Len1][Len2]); return 0; }吐槽貌似这题与状态压缩没有太大关系。谢谢观看

相关新闻

荧光标记技术中连接子设计的关键要点与应用

荧光标记技术中连接子设计的关键要点与应用

1. 项目概述:荧光标记技术中的连接子设计在生物医学研究和分子检测领域,荧光标记技术就像给分子装上"信号灯",而连接子(Linker)就是连接目标分子与荧光染料的"分子桥梁"。这个看似简单的结构&…

2026/7/28 20:02:35阅读更多 →
KMS智能激活工具终极指南:3分钟搞定Windows和Office永久激活

KMS智能激活工具终极指南:3分钟搞定Windows和Office永久激活

KMS智能激活工具终极指南:3分钟搞定Windows和Office永久激活 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO 还在为Windows系统弹出激活提示而烦恼吗?Office突然变成只读…

2026/7/28 20:02:35阅读更多 →
小米8500mAh大电池手机续航技术与实测分析

小米8500mAh大电池手机续航技术与实测分析

1. 大电池手机的续航革命最近小米新机凭借8500mAh超大电池容量引发热议,官方宣称能实现"两天一充"的续航表现。作为一名长期关注移动设备续航表现的科技博主,我第一时间对这款产品进行了实测。8500mAh的电池容量在当前智能手机市场确实罕见&am…

2026/7/28 20:02:35阅读更多 →
全志ARM Linux内核编译实战:从环境搭建到系统启动全流程

全志ARM Linux内核编译实战:从环境搭建到系统启动全流程

1. 项目缘起:为什么我们要从零编译ARM Linux内核?如果你手头有一块全志方案的开发板,比如Orange Pi Zero 2或者Orange Pi 5,并且已经玩腻了官方提供的现成镜像,那么“从零开始编译并启动一个自己定制的Linux内核”这个…

2026/7/29 5:47:35阅读更多 →
国产AI数据大屏生成工具推荐(政企电商+3D展厅)

国产AI数据大屏生成工具推荐(政企电商+3D展厅)

这两年“国产替代”喊得响,我们公司作为一家有国资背景的供应链企业,所有数字化系统都得过“信创”这一关。数据大屏又是公司的门面——既要给领导汇报用,又要放在展厅给客户看,还得满足电商部门的实时作战需求。我花了大半年时间…

2026/7/29 5:47:35阅读更多 →
RK3568裸机显示驱动实战:VOP2与IEP配置详解

RK3568裸机显示驱动实战:VOP2与IEP配置详解

1. 项目概述:在RK3568裸机环境下探索显示与图像增强最近在折腾ROC-RK3568-PC这块板子,目标是在完全脱离操作系统(也就是我们常说的“裸机”或“Bare Metal”)的环境下,把它的显示系统跑起来。项目标题里的“裸机19”大…

2026/7/29 5:47:35阅读更多 →
工业物联网通信方案:LTE Cat 1模块与Cortex-M4 MCU实战

工业物联网通信方案:LTE Cat 1模块与Cortex-M4 MCU实战

1. 工业级物联网通信的核心挑战与解决方案在工业自动化、远程监控和智能设备管理领域,稳定可靠的物联网通信一直是系统设计的核心难点。传统Wi-Fi和蓝牙方案在复杂工业环境中经常面临信号干扰、温度波动和电源不稳定等问题。这正是LARA-R6401D-00B蜂窝通信模块与TM4…

2026/7/29 5:47:35阅读更多 →
树莓派交互式表情显示器:GDW变脸项目全解析

树莓派交互式表情显示器:GDW变脸项目全解析

1. 项目概述:GDW变脸,一个树莓派驱动的交互式表情显示器最近在折腾一个挺有意思的小项目,我把它叫做“GDW变脸”。这个名字听起来有点玄乎,但其实核心就是一个基于树莓派的、能够根据外部触发条件动态切换显示内容的交互式装置。简…

2026/7/29 5:47:35阅读更多 →
DF BEETLE控制器深度解析:ESP32-S3核心在嵌入式物联网中的极致应用

DF BEETLE控制器深度解析:ESP32-S3核心在嵌入式物联网中的极致应用

1. 项目概述:当“小身材”遇上“大作为”在嵌入式开发和物联网项目里,我们总在寻找一个完美的平衡点:性能要足够强劲,能跑得动复杂的逻辑和算法;体积要足够小巧,能塞进各种奇形怪状的壳子里;接口…

2026/7/29 5:45:34阅读更多 →
覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

🔹 工具基础介绍 OpenClaw 是开源生态中一款实用性较强的本地智能工具,凭借本地离线运行、可视化图形操作和任务自动化三大核心特性,赢得了众多用户的青睐。与普通在线对话AI工具不同,它属于能够直接操控本机软硬件的智能数字员工…

2026/7/28 4:06:39阅读更多 →
伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

所谓液压伺服阀体的精密激光焊接,是用激光束对阀座壳体(通常为不锈钢或铝合金)进行密封焊接,使阀体在21-35MPa的高压液压油或压缩气体中长期运行而不发生介质泄漏。液压伺服阀是高端液压系统的"大脑"。从航空航天飞行控…

2026/7/28 2:08:06阅读更多 →
D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南 【免费下载链接】d2dx D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions. 项目地址: https://gitcode.com/gh_mirrors/d2/d2dx 你是否还在…

2026/7/28 1:38:28阅读更多 →
28. Agent 执行到一半想暂停?用 interrupt 给它设个“关卡“!

28. Agent 执行到一半想暂停?用 interrupt 给它设个“关卡“!

28. Agent 执行到一半想暂停?用 interrupt 给它设个“关卡“! 在构建复杂的 Agent 系统时,我们经常会遇到这样的场景:Agent 正在执行一个多步骤的任务,比如“下单购买商品”,但执行到一半时,我们…

2026/7/29 0:01:46阅读更多 →
自律同行,突破无界!NANK南卡正式官宣曾舜晞成为品牌代言人

自律同行,突破无界!NANK南卡正式官宣曾舜晞成为品牌代言人

近日,国际专注开放式技术研发的声学品牌Nank南卡,正式官宣实力艺人曾舜晞担任品牌代言人。消息一经发出便轰动全网。为什么耳机品牌不选择流量明星、老牌歌手?而且是选择曾舜晞?让我们一起来探索一下!比起短期的流量&a…

2026/7/29 0:01:46阅读更多 →
【RT-DETR多模态创新改进】CVPR 2025 | 独家特征融合创新改进篇 | 引入RLAB残差线性注意力模块,有效融合并强调多尺度特征,多种改进点,适合红外与可见光融合目标检测任务,有效涨点

【RT-DETR多模态创新改进】CVPR 2025 | 独家特征融合创新改进篇 | 引入RLAB残差线性注意力模块,有效融合并强调多尺度特征,多种改进点,适合红外与可见光融合目标检测任务,有效涨点

一、本文介绍 🔥本文在RT-DETR多模态融合目标检测中引入RLAB残差线性注意力模块,可在不同模态特征交互阶段进行多次残差细化,使可见光、红外等特征在尺度、语义和空间位置上更好对齐;随后将细化特征与解码器输出拼接并生成Q、K、V,通过线性注意力自适应强化关键通道、目…

2026/7/29 0:01:46阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/28 20:22:24阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/29 4:31:51阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/28 2:35:58阅读更多 →