前言
RT,因为我dp实在是太差了,我将集中进行动态规划的专项训练,按照下方题单,依次写下题解,好进行复习分析,可能还会夹杂其他题,但不重要了。
我大概会把大部分 提高&省选 以下的题目都做一遍
P1095 守望者的逃离
有贪心和dp两种做法:
-
贪心:分别计算 只闪现 与 只跑步 的距离,如果闪现大于跑步,就可以将跑步距离更换为闪现的距离,这样就相当于在合适的时候进行闪现否则就跑步的操作。
-
dp:先递推求出 只闪现 的距离数组,再进行一遍 只跑步 的操作,但只跑步大于只闪现,将这步替换为跑步,同样实现相同操作结果。
P1077 摆花
其实还是要先看懂题意,要连续选多相同编号盆,最后选 \(m\) 个盆,问方案数,设状态为 \(dp[i][j]\) 选前 \(i\) 种盆,选择了 \(j\) 个盆的方案数,此时可以得到朴素的转移,但发现这与 01 背包有点像,每种盆选的数量可以抽象为物品的体积,那没得说,直接套板去吧。
P3842 线段
设状态为 \(dp[i][0]\) 为走完第 \(i\) 行到线段左端点所用的最短的长度,相反 \(dp[i][0]\) 为走完第 \(i\) 行到线段有端点所用的最短的长度。