动态规划
文章平均质量分 75
7_26
我很勤劳,还没有添加简介
展开
-
决策单调性&斜率&单调队列优化DP
毒瘤DP,DP里面最难写的。P1912最经典题目了属于是。其实就是一个决策单调性板子题,因为年代久远所以比较难码出来。关键就是找准最优子结构,我觉得这种都可以划一个模型,数列优化模型,都这么搞;...原创 2022-02-13 15:31:38 · 362 阅读 · 1 评论 -
数据结构优化DP
P2605这题真的好难呀,连最基本的DP方式都没有想出来;看题解了之后才做出来;这里没有内容可以多说了,看洛谷吧;BZOJ3688终于有一道水题了;TWT太水了,以至于他完全符合模型,就是这样吧;...原创 2022-02-11 13:56:55 · 650 阅读 · 0 评论 -
期望概率DP
BZOJ2201题面很难找,找了半天才找到一张图。题目很别致,我们发现,期望DP的题目一般来说都要根据题目所给的东西来定制一种做法?本题中,那个贡献值的定义是连乘出来的,那么。。。。。如果说要计算贡献,那么就只能用乘法分配率。对于已经确定下来的一段,我们用一个状态代表一个集合,因为m的值实在是太大了,不可能设计出一种状态;也就是说这个集合大约是这样的 {aaaavbdsaddasdsadasddasdsadsaddasdsaddsd}结尾有着相同的段子,这样子就可以了;然后链状的这题原创 2022-02-10 16:17:46 · 234 阅读 · 0 评论 -
状态机模型DP
这个模型是Y总发现的;很妙啊;状态机是有限状态自动机的简称,是现实事物运行规则抽象而成的一个数学模型。比如这张图就是一个很典型的状态机的模型;因为DP是一个在DAG里面用topo序来递推的这么一个过程,因此我们可以用状态机来帮我们确定topo序;注意点就是最后的终态和初始化;步骤如下:首先设计状态,把几个状态画出来,作为节点然后我们考虑这几个节点之间有什么逻辑关系并依据此给它们之间加上有向边(还有自环)之后给边加上权值最后根据每个状态的入度写出状态转移方程直接上题了;黑虎原创 2021-06-29 12:52:10 · 536 阅读 · 4 评论 -
最长上升子序列和最长公共子序列的问题
最长上升子序列原题题面我就不过多赘述了;为什么说要那样子去列我们的状态表示和状态转移方程呢;首先因为最后一个数不一定是最大的因此不一定是他结尾的;而且呢因为我们要转移的话,必然是需要对已知情况进行判断的,如果说现在遍历到的那个数大于之前的某个数的时候才会更新一遍状态,所以我们要保留的是,当前结尾的那个数字;这题仔细品一品就能品出来最优子结构并且带有相关信息,并且能转移的性质;代码acwing题解里面来的,懒得写了#include <iostream>using namespac原创 2021-06-22 08:44:00 · 158 阅读 · 1 评论 -
数字三角形模型
没啥好说的去看Y总讲课就行了,这模型总共就那么点玩意儿。只要搞清楚取数的时候从哪个方向过来的就行了。唯一要注意的一个题目是方格取数方格取数注意点呢就是说这题不能用贪心去做如果贪心HACK:2 13 11 31 4行吧就这么点东西;...原创 2021-06-22 07:08:35 · 184 阅读 · 3 评论 -
记单调队列DP
单调队列DP原理比如说有这么几个数,每次划定一个长度为5的区间,求每次区间内的最大值2 4 0 3 7 1 -4 6第一次把2加进队列{2}第二次{4},因为在有4的情况下,2是没用的第三次{4,0}第四次{4,3}第五次{7}第六次和以后{}。。。懒得写了...原创 2021-06-01 21:14:00 · 273 阅读 · 1 评论 -
记树形DP
树形DP树形DP和线性DP的区别在思维上,仅仅是迭代关系由线性转变成了非线性比如说:最大子段和这题用f[i]表示以a[i]结尾的最大子串长度最后只需要从1到N全部扫一遍求max即可最大子树和线性DP是线性的扫过一遍,最大子树和则是从叶子节点开始扫。如果有儿子的话就在左和根,右和根,根,都有之间选一个,但是不能只有左右而没有根因为这样就不满足子树,对应到上面就是必须f[i-1]+a[i],a[i]再考虑上面一层的时候就下面已经保证是选出来的最佳方案,满足无后效性所以是对的;...原创 2021-05-27 21:50:39 · 293 阅读 · 1 评论