码迷,mamicode.com
首页 > 其他好文 > 详细

线性动态规划

时间:2018-12-31 13:48:55      阅读:261      评论:0      收藏:0      [点我收藏+]

标签:完成   思想   划算   lcs问题   进阶   结束   表示   最长公共子序列   lis   

注:博客的不少思想是从算法竞赛进阶指南上选取的。

线性动态规划是指具有“阶段”划分的动态规划算法。动态规划算法的状态包括多个维度,但在每个维度上都具有“线性”变化的阶段,那么也可以叫作线性动态规划。

首先还是说几个固有的模型。

lis问题:算法竞赛进阶指南给出的表示是这样。  状态表示:f[i]表示以a[i]结尾的“最长上升子序列”的长度        阶段划分:子序列的结束位置。(每个子问题的求解顺序都构成一个阶段,在完成前一个阶段的计算后,才会执行下一阶段的计算,所以一般我们设置状态可以这样设置,我们先把阶段确定好,然后就已经满足了无后效型和最优子结构,然后在多增加一些维度来唯一确定这个状态)

lcs问题:状态表示:f[i,j]表示前缀字串a[1..i]与b[1..j]的“最长公共子序列”的长度,   阶段划分:已经处理的前缀的长度。

 

线性动态规划

标签:完成   思想   划算   lcs问题   进阶   结束   表示   最长公共子序列   lis   

原文地址:https://www.cnblogs.com/pandaking/p/10201810.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!