随笔分类 - 动态规划
各种DP
摘要:昨天 想到正解是预设 但是还是对预设型 理解不深, 所以没推出转移方程 什么是预设型DP? 和唯一元素位置相关的 一般是问一类合法的方案数 这类 在顺序转移的时候 没有附加维度就是有后效性的,这是正确性有问题的 考虑解决这一方式的手段是枚举有没有用过 但是这你就不得
阅读全文
摘要:到你了,我的Boss 事实上做起来如果有头绪就非常好了 比较好用的方法就是求什么设什么 然后如果状态划分并不是非常明显 (说句人话就是非常容易混淆状态算重,一般不会算漏) 就要划分出辅助状态配合转移,一般这些状态会和决策相关 状态转移的话一般钦定增量的增加方式,方便计算贡献 然后状态转移如果用钦定法
阅读全文
摘要:期望 最核心的内容是期望的线性性 大致意思就是说 一个局面的期望等于这个局面能够达到的所有局面的期望的和 有了这个,实际上是可以找转移顺序,也就是逆推 逆推的正确性,来自于开始的局面发生的概率是1 有的题顺推不好想就可以逆推搞一搞 然后逆推不能只逆转移,还要把状态需要逆的也逆推 然后就是考虑问题要全
阅读全文
摘要:状压 状态压缩,就是用一个整数代替DP中某种一般情况下需要以一维数组充当状态的状态 状压意义下的状态表示就是在 进制下将第 个元素的某种状态用整数第 位的 表示出来 不同状态之间的转移需要用相应的位运算实现 一般的处理步骤? 预处理 首先预处理出各种可行的状态以及相应
阅读全文
摘要:简介 线性DP中有两类DP状态转移方程式: 1.状态转移中每一项中仅含阶段变量i或状态变量j(1D/1D) 2.状态转移中每一项中同时含阶段变量i与状态变量j 如果使用暴力DP的话毫无疑问两种都是O(n^2),此时面对n=1e5无能为力 但是,回归循环代码,我们会发现有些转移是没有必要的 砍掉这些没
阅读全文
摘要:模拟赛里树形DP吃大亏,开贴重学 树形DP:树上与图上的DP 特征:给定一棵N节点的树作为问题(有根无根均可,但通常无根) 解法: 1.阶段: 一般以节点由深到浅,子树从小到大的顺序作为DP的阶段 即状态表示中,第一维通常是节点的编号(代表以该节点为根的子树) 2.状态: 依题而定 3.决策: 同理
阅读全文
摘要:最近打的题好多都是tj现在只能被动打tj真的好烦 先打一下最近打的坐标DP 1.矩阵取数: 帅帅经常跟同学玩一个矩阵取数游戏:对于一个给定的nxm的矩阵,矩阵中的每个元素aij,均为非负整数。游戏规则如下: 1.每次取数时须从每行各取走一个元素,共n个。m次后取完矩阵所有元素; 2.每次取走的各个元
阅读全文
摘要:1.状态压缩: DP算法中,状态是一个比较重要的量 然而有些DP算法状态多而且杂,那么,对于这样的DP,我们能不能稍做优化? 在背包问题时,我们知道,有些状态是可以被压掉的,那么,换到别的DP中,我们有没有办法压掉一些状态? 有:用二进制数来保存状态,即这里指的状态压缩 要和二进制数打交道,必然少不
阅读全文
摘要:整理区间DP例题以及对区间DP理解 区间DP,即合并类动态规划,往往以区间为阶段进行划分 注:有的决策是左右端点向左向右扩展 ,这个时候只用枚举状态即可 在解决区间合并问题时: 1.以区间长度为阶段 2.以左右端点为状态 3.以区间划分为决策 另一种写法以左端点为阶段,右端点为状态直接枚举决策
阅读全文
摘要:具有线性规划特点的DP类型称为线性DP 这类DP一般是较为基础的~~蒟蒻不提简单二字~~ DP: 状态表示应满足三个特点: 1.最优化:满足最优子结构性质 (略微不同于贪心的“滚雪球”,DP算法不一定满足局部最优导致全局最优,但DP算法可以通过更新最优解实现全局最优) 2.无后效性:即当前问题的决策
阅读全文