DP学习笔记
文章平均质量分 79
chase__young
这个作者很懒,什么都没留下…
展开
-
关于LCS输出最长序列的问题
题目来源于atcoder解题思路参考这篇文章问题描述题意:其实就是LCS的一个变形,在LCS的基础上,需要输出这个最长的公共子序列(得先完全理解了LCS的做法后才能来做这道题)这个我本来想的是用一个二维string数组记录每个状态的最长公共子序列是什么,但是怎么写都是超内存的,所以我直接去找题解了O(∩_∩)O看了下网上大佬的思路:用了一个flag数组来代表每个状态是从哪个状态转移过来的。对于当前状态f[i][j],一共可能从三种状态转移过来(状态转移方程的推导这里我就不写了,已经写了好多遍原创 2022-05-01 15:00:12 · 152 阅读 · 0 评论 -
线性DP学习笔记
文章目录前言序列模型最长上升子序列最长公共子序列最长上升公共子序列字符串编辑模型编辑距离最短编辑距离求和模型糖果(序列相关)摘花生(矩阵相关)前言线性dp,是较常见的一类动态规划问题,其是在线性结构上进行状态转移,这类问题不像背包问题、区间DP等有固定的模板。线性动态规划的目标函数为特定变量的线性函数,约束是这些变量的线性不等式或等式,目的是求目标函数的最大值或最小值。因此,除了少量问题(如:LIS、LCS、LCIS等)有固定的模板外,大部分都要根据实际问题来推导得出答案。我总结了几种比较普遍的线原创 2022-04-24 17:27:17 · 750 阅读 · 0 评论