当前位置: 首页 > news >正文

【算法心得】二维dp的状态转移狂练

LCS:

LCS变式:使两个字符串变成一样的,删除的和最小
https://leetcode.cn/problems/minimum-ascii-delete-sum-for-two-strings/

建表

m ∗ n m*n mn or ( m + 1 ) ∗ ( n + 1 ) (m+1)*(n+1) (m+1)(n+1)

感觉 ( m + 1 ) ∗ ( n + 1 ) (m+1)*(n+1) (m+1)(n+1)的好想一些,以后还是都以 ( m + 1 ) ∗ ( n + 1 ) (m+1)*(n+1) (m+1)(n+1)建表吧

填dp[0][0]

LCS

0

删除和最小

0

填dp[0][j]

LCS

全0

删除和最小

s2[j]+dp[0][j-1]

填dp[i][j]

LCS

s1[i]==s2[j] ? dp[i-1][j-1]+1 : max(dp[i-1][j], dp[i][j-1])

删除和最小

s1[i]==s2[j] ? dp[i-1][j-1] : min(dp[i-1][j]+s1[i] , dp[i][j-1]+s2[j])

矫正

注意下标,i的有效值从1到n,对应数组元素的0到n-1

http://www.lryc.cn/news/104010.html

相关文章:

  • JMeter常用内置对象:vars、ctx、prev
  • 【C++从0到王者】第十四站:list基本使用及其介绍
  • 正则表达式、常用的正则
  • ST官方基于米尔STM32MP135开发板培训课程(一)
  • 组件(lvs,keeplive,orm,mysql,分布式事务)
  • 《视觉SLAM十四讲》报错信息和解决方案
  • golang 设置http请求代理
  • 我的会议(会议通知)
  • css实现水平居中
  • c刷题(一)
  • webpack
  • 反复 Failed to connect to github.com port 443 after xxx ms
  • ARM裸机-11
  • centos7升级glibc
  • 【OnnxRuntime】在linux下编译并安装C++版本的onnx-runtime
  • C#基于OpenCv(OpenCvSharp) 的 fftshift, ifftshift 函数的实现
  • 【SpringBoot】笔记2
  • Spring事务传播机制详细讲解
  • kubernetes 集群搭建(kubeadm 方式)
  • 基于ARM+FPGA的驱控一体机器人控制器设计
  • docker 安装 字体文件
  • Vue.js与ASP.NET的结合,实现企业级应用的开发和部署
  • Uncaught SyntaxError: ‘‘ string literal contains an unescaped line break
  • Vue3+Vite+TypeScript常用项目模块详解
  • 数字电路(一)
  • Oracle也有回收站
  • 投稿注意!APA格式超全示例详解,原本28天能录用,可能要拖延2个月
  • 【Python】Web学习笔记_flask(1)——模拟登录
  • css单行文本省略号多行文本省略号
  • 信号槽中的函数重载