08 2022 档案
摘要:树形DP,顾名思义,就是在树上设计动态规划。 一般树形DP的DP数组的第一维表示节点编号,代表以此节点为根的子树作为的阶段。除此之外,可能的第二维乃至第三维与题目具体要求相关。 在树上进行动态规划时,一般先用深度优先搜索($DFS$)来遍历该树,定义出每个节点的深度与以该节点为根的子树。 而此类动态
阅读全文
摘要:前面已经提过,线性DP问题是有着较为明显的阶段划分的动态规划问题,一般是由初态一步一步转移到终态。但,同属于线性DP的区间DP与前面提到的却有着较大不同,形象的说,区间DP的转移像是“逐渐扩张的领土”。 具体来讲,区间DP的阶段是“区间长度”,并且用左右端点的下标来表示其状态。此外,区间长度较长的阶
阅读全文
摘要:背包是线性DP中一类重要而特殊的模型。 ~~没有骚话水了~~下面就直入主题,看一下DP中的“常客”————背包问题。 以01背包的模板题为例。 有N件物品和一个容量为V的背包。第i件物品的体积是C~i~,得到的价值是W~i~。求解将那些物品装入背包可使装入背包的价值总和最大。 题目很简短(当然对于各
阅读全文
摘要:线性DP,即指线性动态规划,是具有线性“阶段”划分的动态规划算法。 假如将“DP”比作我们学习生活中的“函数”,那么“xxDP”就如同其中的一些特定函数,如“三角函数”等。 但是线性DP较其他DP有些不同,其形式更为多样,而不存在某些固定的套路,正如前言所说,只要是具有线性阶段划分的动态规划问题,都
阅读全文
摘要:动态规划针对满足特定条件的一类问题,对各状态维度进行分阶段、有顺序、无重复、决策性的遍历求解。————《算法竞赛进阶指南》 总所周知,动态规划(DP,DynamicProgramming)有基本的三要素:“阶段”、“状态”、“决策”,而能用动态规划解决的问题则需具备三个基本条件:“子问题重叠性”、“
阅读全文

浙公网安备 33010602011771号