首页 > 其他 > 详细

动态规划的几种模型

时间:2019-06-24 20:48:46      阅读:118      评论:0      收藏:0      [点我收藏+]

动态规划的几种模型

背包模型

  1. 0-1 背包 v:从大到小 f[i][w] = max(f[i-1][w],f[i-1][w-wi]+vi)
  2. 完全背包 v: 从小到大 f[i][w] = max(f[i-1][w],f[i][w-wi]+vi)
  3. 多重背包: 二进制优化为0-1背包 v: 从大到小

限制:
不超过w:
要求填满w: 初始化为inf 或-inf,重量为0初始化为0
有时==w,也可转化为<=w;需要看题目地条件限制

LIS

LIS(最长上升子序列)的O(nlogn)的优化:

  1. LIS优化成O(nlogn)在于记录并更新b[i] b[i] 表示长度为i的LIS中末尾最小的元素
  2. b[]有着有序的性质,能够二分查找

LCS

LCS(最长公共子串的递推关系:
\(dp[i][j] = dp[i-1][j-1]+1 \quad if(s1[i]==s2[j])\) \(dp[i][j] = max(dp[i-1][j],dp[i][j-1]) \quad if(s1[i]!=s2[j])\)

复杂的难以顺序性求解(一般指for结构递推)

记忆化搜索

动态规划的几种模型

原文:https://www.cnblogs.com/fridayfang/p/11079069.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!