• 动态规划的几种模型


    动态规划的几种模型

    背包模型

    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结构递推)

    记忆化搜索

  • 相关阅读:
    2020/5/8
    2020/5/8
    2020/5/6
    2020/4/30
    2020/4/29
    2020/4/28
    2020/4/27
    KMP算法详解
    博客搬家声明
    洛谷P2831 NOIP2016 愤怒的小鸟
  • 原文地址:https://www.cnblogs.com/fridayfang/p/11079069.html
Copyright © 2020-2023  润新知