【动态规划】提高组的DP问候

题单介绍

DP是提高组的重中之重。 菜鸡 lgswdn 把做到的提高组难度和知识点的一些比较好的dp题整理了一下,希望可以帮到大家qwq。 PS. 对于树形 DP,lgswdn 专门整理了一个 ~~混乱的~~ 题单,戳[这儿](https://www.luogu.com.cn/training/9714)~。 **Caution:这个题单题真的很少,实际上只能带每个版块的入门** --- UPD: 7/10 增加一道背包 DP。 9/27 修复了已知问题。 10/05 增加了一道背包 DP。 11/9 增加了一道状压 DP。但由于 50 题限制,只在描述中有。 --- ## 一 区间 DP 区间 DP 是 DP 中比较基础的一种。一般来说可以设 $f(l,r)$ 为区间 $[l,r]$ 的答案。 [石子合并](https://www.luogu.com.cn/problem/P1880) 最基础的区间 DP 。 [[USACO16OPEN]248 G](https://www.luogu.com.cn/problem/P3146) 和 [[USACO16OPEN]262144 P](https://www.luogu.com.cn/problem/P3147) 前一题较为模板,后一题需要状态优化。 [[HNOI2010]合唱队](https://www.luogu.com.cn/problem/P3205) 状态需要一些改变(具体化)。 [[IOI1998]Polygon](https://www.luogu.com.cn/problem/P4342) 需要分类讨论,80WA 了仔细想一想为什么。 [[SCOI2003]字符串折叠](https://www.luogu.com.cn/problem/P4302) 其实很多字符串题目也是区间 DP。 [[SCOI2007]压缩](https://www.luogu.com.cn/problem/P2470) 和上面那题有些相似但又不一样。 ## 二 背包 DP 01背包是 DP 的经典,但是提高组选手不应该把目光放在这种题身上,而是应该挑战更加高级的背包。 [飞扬的小鸟](https://www.luogu.com.cn/problem/P1941) 背包经典演变问题。 [货币系统](https://www.luogu.com.cn/problem/P5020) 这不是小凯的疑惑!但是这道题还是有一定思维难度的。 [垃圾陷阱](https://www.luogu.com.cn/problem/P1156) 需要一点点思考。可以用刷表法做。 [[BJOI2019]排兵布阵](https://www.luogu.com.cn/problem/P5322) 当你对背包了解了之后,可以用这题练练手。 [CF730J Bottles](https://www.luogu.com.cn/problem/CF730J) 背包一个很小的变化,第一问很简单,第二问需要稍作转换。 [[SHOI2008]循环的债务](https://www.luogu.com.cn/problem/P4026) 打着背包的标签但是还是有点区别的。转移方程比较难一些,状态表示需要用到去除冗余的思想。 [[HNOI2007]梦幻岛宝珠](https://www.luogu.com.cn/problem/P3188) 背包的分组优化+二进制的奇怪 DP 合并。 ## 三 单调队列 单调队列是提高组 DP 优化中的考点。相比于其他优化,单调队列没有那么难。单调队列模板和意义默认都会。 [[USACO11OPEN]Mowing the Lawn G](https://www.luogu.com.cn/problem/P2627) 单调队列优化 DP 比较模板的题目。 [[POI2014]Little Bird](https://www.luogu.com.cn/problem/P3572) 单调队列维护的对象的比较规则中不一定只有一个元素,比如这道题。 [CF1077F Pictures with Kittens](https://www.luogu.com.cn/problem/CF1077F2) 理解上面的题目后,这道题可以作为练手题目。 [[CSPS2019] 划分](https://www.luogu.com.cn/problem/P5665) 建议做这道题的时候,先想 $64$ 分的 DP。最后需要用 一个贪心,而且这个单调队列还不大一样。 [[SBCOI2020] 一直在你身旁](https://www.luogu.com.cn/problem/P6563) $O(n^3)$ DP 很好想,但是(丢张图) ![](https://i.loli.net/2020/06/29/bcOxVETa1Butry3.png) $O(n^2)$ 需要用到一些优化的 Trick。 ## 四 树形DP ### 4.1 普通树形 DP [战略游戏](https://www.luogu.com.cn/problem/P2016) 很简单的树形dp。先想一想在序列上怎么做。 [毛毛虫](https://www.luogu.com.cn/problem/P3174) 进行一定的分类讨论。 [[POI2014]FarmCraft](https://www.luogu.com.cn/problem/P3574) 贪心可以去优化 DP 的转移。 [[POI2011]Dynamite](https://www.luogu.com.cn/problem/P3523) 最大值最小,你想到什么了呢? ### 4.2 树形背包 [有限电视网](https://www.luogu.com.cn/problem/P1273) 树形背包经典题目。 [选课](https://www.luogu.com.cn/problem/P2014) 同样模板题。 [重建道路](https://www.luogu.com.cn/problem/P1272) 稍微难一点点的树形背包。 [[JSOI2018]潜入行动](https://www.luogu.com.cn/problem/P4516) 同样的套路,但是分类讨论烦了一点。 ### 4.3 基环树 [城市环路](https://www.luogu.com.cn/problem/P1453) 基环树 DP 模板题。 [[ZJOI2008]骑士](https://www.luogu.com.cn/problem/P2607) 加强版的题目。 [[IOI2008]Island](https://www.luogu.com.cn/problem/P4381) 基环树直径,需要单调队列优化。 ### 4.4 二次扫描/换根DP [[POI2008]Station](https://www.luogu.com.cn/problem/P3478) 模板题一 [CF1092F Tree with Maximum Cost](https://www.luogu.com.cn/problem/CF1092F) 难道上一题加权就不会了吗。 [[USACO10MAR]Great Cow Gathering G](https://www.luogu.com.cn/problem/P2986) 模板题二 [CF708C Centroids](https://www.luogu.com.cn/problem/CF708C) 模型转换,换根DP。 [[APIO2014]连珠线](https://www.luogu.com.cn/problem/P3647) 一道比较难的换根DP。 ## 五 期望DP/概率DP 提高组的期望 DP 一般都不难。提高组中有期望在的,除了数学推导,模型转换就是DP。 [OSU!](https://www.luogu.com.cn/problem/P1654) 期望 DP 的经典题目。 [换教室](https://www.luogu.com.cn/problem/P1850) 提高组期望 DP 真题。 [[SHOI2014]概率充电器](https://www.luogu.com.cn/problem/P4284) 换根 DP 中的期望 DP,难度不小。 ## 六 DP 混杂在一起 一个略微综合的板块,但是不是很难。 [[SCOI2009]粉刷匠](https://www.luogu.com.cn/problem/P4158) 背包DP&区间DP。 [[ZJOI2006]物流运输](https://www.luogu.com.cn/problem/P1772) 区间DP&最短路。 ## 七 状压DP 状压DP的第一个用处是正经做题,第二个用处是一种很常见的暴力。 [[USACO06NOV]Corn Fields G](https://www.luogu.com.cn/problem/P1879) 最模板的板子题。 [[NOI2001]炮兵阵地](https://www.luogu.com.cn/problem/P2704) 上古的 NOI 状压板子二。 [宝藏](https://www.luogu.com.cn/problem/P3959) 提高组考过的真题 [[USACO12MAR]Cows in a Skyscraper G](https://www.luogu.com.cn/problem/P3052) 状态压缩中枚举子集。 [[APIO2007]动物园](https://www.luogu.com.cn/problem/P3622) 数据范围没有状压的标志,但是题目中却另有一个可以状压的东西。有很多有趣的小技巧。 ## 八 小测验 一个的 DP 题组成的小测验,建议上述题做完后来 AK。(注意:题目顺序对应了大致难度排序) T1 [能量项链](https://www.luogu.com.cn/problem/P1063) T2 [子串](https://www.luogu.com.cn/problem/P2679) T3 [Promis I Can't Keep](https://www.luogu.com.cn/problem/P6554) T4 [(POI)Triumphal arch](https://www.luogu.com.cn/problem/P3554) T5 [Emiya家今天的饭](https://www.luogu.com.cn/problem/P5664) T6 [(POI)Hotel](https://www.luogu.com.cn/problem/P3565) (放在第六题主要原因,建议去思考一下长链剖分的做法)

题目列表

  • [NOI1995] 石子合并
  • [USACO16OPEN] 248 G
  • [USACO16OPEN] 262144 P
  • [HNOI2010] 合唱队
  • [IOI1998] Polygon
  • [SCOI2003] 字符串折叠
  • [SCOI2007] 压缩
  • [NOIP2014 提高组] 飞扬的小鸟
  • [NOIP2018 提高组] 货币系统
  • 垃圾陷阱
  • [BJOI2019] 排兵布阵
  • Bottles
  • [SHOI2008] 循环的债务
  • [HNOI2007] 梦幻岛宝珠
  • [USACO11OPEN] Mowing the Lawn G
  • [POI2014] PTA-Little Bird
  • Pictures with Kittens (hard version)
  • [CSP-S2019] 划分
  • [SBCOI2020] 一直在你身旁
  • 战略游戏
  • [HAOI2009] 毛毛虫
  • [POI2014] FAR-FarmCraft
  • [POI2011] DYN-Dynamite
  • 有线电视网
  • [CTSC1997] 选课
  • 重建道路
  • [JSOI2018] 潜入行动
  • 城市环路
  • [ZJOI2008] 骑士
  • [IOI2008] Island
  • [POI2008] STA-Station
  • Tree with Maximum Cost
  • [USACO10MAR] Great Cow Gathering G
  • Centroids
  • [APIO2014] 连珠线
  • OSU!
  • [NOIP2016 提高组] 换教室
  • [SHOI2014] 概率充电器
  • [SCOI2009] 粉刷匠
  • [ZJOI2006] 物流运输
  • [USACO06NOV] Corn Fields G
  • [NOI2001] 炮兵阵地
  • [USACO12MAR] Cows in a Skyscraper G
  • [APIO2007] 动物园
  • [NOIP2006 提高组] 能量项链
  • [NOIP2015 提高组] 子串
  • Promises I Can't Keep
  • [CSP-S2019] Emiya 家今天的饭
  • [POI2014] HOT-Hotels
  • [POI2013] LUK-Triumphal arch