DP-转移方程

作者: 雨落夏至 | 来源:发表于2019-10-06 01:08 被阅读0次
  • 搞个算法笔记dp的总结,晴神tql了8!!!!

数塔

dp[i][j]为从第i行第j个数字出发的到达最底层的所有路径中能得到的最大和(边界dp[n][j]=f[n][j])
dp[i][j]=max(dp[i+1][j],dp[i+1][j+1]);

最大子序列和

dp[i]为必须以A[i]结尾的连续序列(边界A[0])
dp[i]=max(A[i],dp[i-1]+A[i]);

最长不下降子序列(LIS)

dp[i]为以A[i]结尾的最长不下降子序列长度(边界为1)
dp[i]=max(1,dp[j]+1);(j=1,2,…,i-1&&A[j]<A[i])

最长公共子序列(LCS)

dp[i][j]为字符串A的i号位与字符串B的j号位之前的LCS长度(边界dp[0][j]=0、dp[i][0]=0)
dp[i][j]=dp[i-1][j-1]+1 A[i]==B[j]
     max(dp[i-1][j],dp[i][j-1]) A[i]!=B[j]

(可重复)最长公共子序列

dp[i][j]为字符串A的i号位与字符串B的j号位之前的LCS长度(边界dp[0][j]=0、dp[i][0]=0)
dp[i][j]=max(dp[i-1][j],dp[i][j-1])+1 A[i]==B[j]
     max(dp[i-1][j],dp[i][j-1]) A[i]!=B[j]

最长回文子串

dp[i][j]为S[i]到S[j]所表示的子串是不是回文子串(边界dp[i][i]=1、dp[i][i+1]=(S[i]==S[i+1])?1:0)
dp[i][j]=dp[i+1][j-1] S[i]==S[j]
     0 S[i]!=S[j]
(j=i+L-1)

0-1背包

dp[i][j]为前i件物品恰好装入j容量的背包中能获得的最大价值(边界dp[0][i]、dp[i][0]=0)
dp[i][j]=max(dp[i-1][j],dp[i-1][j-w[i]]+c[i]);(i=1 to n,j=w[i] to V)

P.S. 若硬币可能存在w[i]与c[i]合为一体
简化:dp[j]=max(dp[j],dp[j-w[i]]+c[i]);(i=1 to n,j=V to w[i])

完全背包

dp[i][j]为前i件物品恰好装入j容量的背包中能获得的最大价值(边界dp[0][i]、dp[i][0]=0)
dp[i][j]=max(dp[i-1][j],dp[i][j-w[i]]+c[i]);(i=1 to n,j=w[i] to V)

简化:dp[j]=max(dp[j],dp[j-w[i]]+c[i]);(i=1 to n,j=w[i] to V)

股票系列

1. 任意两天一次买卖的maxProfit

maxProfit=max(maxProfit,prices[i]-prices[mini]);(i=0 to n)
mini随遍历更新

2. 任意两天无限次买卖的maxProfit

maxProfit=max(maxProfit,maxProfit+prices[i]-prices[i-1]);(i=0 to n)

3. 任意两天两次买卖的maxProfit

maxProfit = max(maxProfit,former[i]+latter[i]);
former[i]=max(maxProfit1,prices[i]-prices[mini]); (0 to i的局部最大)
latter[i]=max(maxProfit2,prices[i]-prices[mini]);(i to n的局部最大)

4. 任意两天无数次买卖的maxProfit(手续费k)

相关文章

  • DP-转移方程

    搞个算法笔记dp的总结,晴神tql了8!!!! 数塔 dp[i][j]为从第i行第j个数字出发的到达最底层的所有路...

  • 动态规划

    股票问题,状态转移方程需要分析出有几个维度,就需要几个维度去列状态转移方程买卖股票的最佳时机 给定一个数组 pri...

  • 动态规划

    状态转移方程 从之前某个阶段的某个或某些状态状态到下一个状态之间的关系式,就叫做状态转移方程。 最优子结构 每个阶...

  • 几个比较经典的强化学习算法,以及在NLP中的应用

    从没有转移方程的强化学习说起 在深度学习里面的强化学习方法基本上是没有转移概率的,所以不能直接有贝尔曼方程求解。 ...

  • 337-打家劫舍Ⅲ-树形DP

    继打家劫舍前两题之后的第三题,普通DP->环形DP->树形DP 题目 核心思想 与前两题题意类似,都是不能偷窃相邻...

  • 卡尔曼滤波

    话不多说,我这里先给出我们的系统的模型方程,状态转移方程: 测量方程: 需要说明的是,这里的也可以是随变化的,但是...

  • 【Intro2SDC】卡尔曼方程参考

    卡尔曼方程参考 卡尔曼滤波器方程 变量定义 - 状态向量 - 状态转移矩阵 - 误差协方差矩阵 - 过程噪声协方差...

  • 最长公共子串

    LintCode题目地址 转移方程 f[i][j] = f[i - 1][j - 1] + 1

  • 矩阵与状态转移方程

    高维高斯函数 均值现在是一个向量,每个维度对应一个元素,方差变为协方差。协方差定义的是高斯函数的分散 当高斯函数倾...

  • 07-15:动态规划review3

    动态规划类问题模板: 首先,问题之间有状态转移 模板: 数组 数组初值 状态转移方程 最终结果 1、最小编辑代价 ...

网友评论

    本文标题:DP-转移方程

    本文链接:https://www.haomeiwen.com/subject/ynixpctx.html