$\mathtt 定义: \(\mathtt{dp}\) 由 状态,阶段,决策三部分组成。 状态:描述每个子问题,并且答案可以由这些问题组合出来。 阶段:\(\mathtt{dp}\) 枚举的 ” 大方向 “ ,也就是最外层的循环,保证无后效性的前提,很重要的一部分。 决策:也就是状态由哪几个前缀状 ...
转载 2021-04-25 11:02:00
122阅读
2评论
前言 学完树形$DP$,$NOIP$会考的所有$DP$我们就都学完了,所以让我们一鼓作气,开始树形$DP$的学习之旅吧! 一、树形$DP$的基本概念 顾名思义,树形$DP$就是在树这种数据结构上进行$DP$(这不是废话吗?),通过有限次遍历树,记录相关信息,以求解问题。因为树形$DP$是建立在树上的 ...
转载 2021-08-05 15:59:00
220阅读
2评论
前言 区间DP也属于线性DP的一种,它以 “区间长度” 作为DP的 “阶段” ,使用 区间的左右端点 描述每一个维度。在区间DP中,一个状态由若干个比它更小且包含于它的区间转移而来(这也决定了 区间DP的决策就是不同的划分区间的方法 )。初始时一般由区间长度为1的元区间构成,而我们要求的最终状态,一 ...
转载 2021-08-05 15:58:00
471阅读
2评论
问题: 有一些问题,通常见于二维的DP,另一维记录当前x的信息,但是这一维过大无法开下,O(nm)也无法通过。 但是如果发现,对于x,在第二维的一些区间内,取值都是相同的,并且这样的区间是有限个,就可以批量处理。 思想: 通过动态开点线段树维护第二维, 如果某个节点没有儿子,那么这个节点区间都是同一
转载 2019-05-29 11:30:00
111阅读
2评论
退役人回来了/fad 回来学习dp( 于是先好好学习一下区间dp吧qwq 一.什么是区间dp 大家都知道什么是dp吧,dp有三部曲:定义状态,状态转移方程,边界条件。 那区间dp呢?差不多,只是它有一个范围限制,就是说它的操作只可以在这个范围内进行。 所以我们区间dp的循环有三个维度:区间长度,左端 ...
转载 2021-10-30 21:49:00
63阅读
2评论
砝码称重:View Code 1 /* 2 设有1g、2g、3g、5g、10g、20g的砝码各若干枚(其总重<=1000),用他们能称出的重量的种类数。 3 */ 4 /* 5 输入: 6 a1 a2 a3 a4 a5 a6 7 (表示1g砝码有a1个,2g砝码有a2个,…,20g砝码有a6个,中间有空格)。 8 */ 9 /*10 样例输入:11 1 1 0 0 0 012 正确输出:13 314 */15 //分析:把问题稍做一个改动,已知a1+a2+a3+a4+a5+a6个砝码的重量w[i], w[i]∈{ 1,2,3,5,10,20}16 //其中砝码重量可以相等,求用这些...
转载 2013-03-27 22:22:00
117阅读
2评论
动态规划的思想有时候很难体会,我觉得debug是一件很有帮助的事情。。。View Code 1 /* 2 N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队形。 3 合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2…,K, 4 他们的身高分别为T1,T2,…,TK, 则他们的身高满足T1<...<Ti>Ti+1>…>TK(1<=i<=K)。 5 你的任务是,已知所有N位同学的身高,计算最少需要几位同学出列,可以使得剩下的同学排成合唱队形。 6 */ 7 /* 8 样例输入: 9 810 186 186
转载 2013-03-25 21:55:00
120阅读
2评论
前言 新科技永无止境( 当你拥有一个状态转移方程看上去很简单的,画风正常的树形 DP 题。 然后 duliu 出题人又加上了单点修改点权(边权)的操作,那么就可能是比较裸的动态 DP 了。 主要思想 模板题 给定一棵带点权的树,每次操作修改某个点的点权,每次求最大权独立集的权值。 首先,动态 DP ...
转载 2021-08-20 12:32:00
66阅读
2评论
现在让我来介绍一下数位DP......什么是数位DP呢qwq......数位dp是一种计数用的dp,一般就是要统计一个区间[le,ri]内满足一些条件数的个数。所谓数位dp,字面意思就是在数位上进行dp。 数位DP其实也是一种记忆化搜索吧qwq,与其说是一种算法,不如说是一种思想qwq 为了介绍它,
原创 2021-07-15 14:17:44
107阅读
其实dp之前早就做过了,感觉有点遗忘,拿来复习复习。View Code 1 /* 2 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。 3 但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。 4 某天,雷达捕捉到敌国的导弹来袭。由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹。 5 输入导弹依次飞来的高度(雷达给出的高度数据是不大于30000的正整数), 6 计算这套系统最多能拦截多少导弹,如果要拦截所有导弹最少要配备多少套这种导弹拦截系统。 7 */ 8 /* 9 分析:10 最多能拦截多少导弹,相当于.
转载 2013-03-25 21:05:00
48阅读
2评论
原论文链接:《基于连通性状态压缩的动态规划问题》 例题 给出 \(n\times m\) 的方格,有些格子不能铺线,其它格子必须铺,形成一个闭合回路。问有多少种铺法? 数据范围: \(2\leq n,m \leq 12\) 首先回顾一下本题的简化版:最短Hamilton路径。很容易想到一个 \(O( ...
转载 2021-07-27 11:21:00
136阅读
2评论
原论文链接:《基于连通性状态压缩的动态规划问题》 例题 给出 \(n\times m\) 的方格,有些格子不能铺线,其它格子必须铺,形成一个闭合回路。问有多少种铺法? 数据范围: \(2\leq n,m \leq 12\) 首先回顾一下本题的简化版:最短Hamilton路径。很容易想到一个 \(O( ...
转载 2021-07-27 11:21:00
69阅读
2评论
数位DP解决形如“区间[l,r]中,符合……形式的数的个数”的问题——所谓“形式”往往与数字本身每一位相关。通过大量状态的加持,这一算法能快速准确搜出答案。 ...
转载 2021-08-13 20:43:00
48阅读
2评论
其实就过了模板。 感觉就是带修改的dp 【模板】动态dp 给定一棵n个点的树,点带点权。 有m次操作,每次操作给定x,y表示修改点x的权值为y。 你需要在每次操作之后求出这棵树的最大权独立集的权值大小。 n,m<=1e5 参考题解:shadowice1984 n^2 DP简单又自然。 但是对于1e5
转载 2018-11-12 21:44:00
27阅读
2评论
基于连通性的状压dp 巧妙之处:插头已经可以表示内部所有状态了。 就是讨论麻烦一些。 简介 转移方法:逐格转移,分类讨论 记录状态方法:最小表示法(每次要重新编号,对于一类没用“回路路径”之类的题,可以胜任) 括号表示法(便于操作,但是一些题不能记录状态) 状态存储方法: 不能直接循环所有可能状态,
转载 2018-08-22 23:02:00
69阅读
2评论
前言 由于能力限制,本文只介绍树形 DP 这个分类。 前置芝士:存图 不要以为是树就不用存图了 说道存图嘛,哎嘿嘿 链式前向星 没错又是它(阴魂不散) 这玩意已经介绍 \(n\) 遍了,这里就简单提一嘴。 这里的链式前向星相较于图论那块的少了 \(dis\),因为这个边权没有用,其他的按照原来照搬就 ...
转载 2021-07-23 11:22:00
52阅读
2评论
(供复习使用) 插头,其实就是一条线的端点 特别的,左边对应左插头,右边对应右插头 插头DP其实就是一类状压 \(1\) 代表该位置为左插头 \(2\) 代表为右插头 \(0\) 表示无插头 图就不画了,很多题解都画得很好, 这里只解释一下转移 (此时枚举的状态为 zt 方案数为 val b1 为台 ...
转载 2021-10-11 20:47:00
149阅读
2评论
DP设有专用总线,即AUX Channel,用于source和sink之间的握手。因为source是过程的控制装置,它为sink提出请求。sink计师必须配备的设备。
转载 2022-10-16 00:49:48
1862阅读
HDU1176 中文题意不多解释了。 建一个二维dp数组,dp[ i ][ j ]表示第 i 秒落在 j 处一个馅饼
原创 2022-09-26 20:00:58
199阅读
今天打 \(Atcoder\) 时遇到了一道换根 \(DP\) ,发现自己不太会,学习了一下。 一般来说,这类题在做树形 \(DP\) 时没有固定的根,可以枚举根然后做 \(N\) 次树形 \(DP\) ,但复杂度是不太优的,于是有了换根 \(DP\),一般通过两次对整棵树的 \(dfs\) 遍历来 ...
转载 2021-10-11 09:46:00
327阅读
2评论
  • 1
  • 2
  • 3
  • 4
  • 5