[专题总结]DP初步
目录
前言
什么你说我这三天就搞了这么点东西?
其实是关于DP的各种方向都做了一些题,算是第一次搭建了一个较全面的DP知识网吧。
这篇博文其实是一篇备忘录。
插头DP/轮廓线DP
博文:插头dp小结
[P5074] Eat the Trees
经典的回路型。
[P5056] 【模板】插头dp
同上是回路型,不同之处是只求一条回路,所以引入所谓的左插头(1)和右插头(2)保证只有一条回路。
滚动+hash的姿势非常nice。
[P4294] [WC2008] 游览计划
联通块型,其实在这里插头的概念已经淡化了。
本质是维护轮廓线上任意两插头(块)之间联通性,实现方式是给插头(块)标上它所属联通块的编号,编号方式是最小表示法。
为了保证只有一个联通块,任何时候不能让上插头成为独立插头,所以在不选时要判断一下合法性。
输出方案也不难。因为我们是逐格递推的,格就是阶段,那么只要开一个表把所有状态存下来,并记录每一个状态的前驱状态(它一定存在于上一阶段)以及在这个状态下当前格选不选就ok了。
[BZOJ2310] ParkII
路径型,需要引入有一端封闭的插头即独立插头(3)求解之。
理论上4^2=16种情况,但DeepinC的讨论表明9种就够了,并展示了巅峰的压行技巧。(见[专题总结]初探插头dp)
[BZOJ 2331] 地板
这算什么型?"L"型?其实这大概才是实际会碰到的插头DP题吧,跟经典模型看起来很不相同。但其实很简单的,比起下面的。
目前写不动的……
[SCOI2012] 喵星人的入侵
[GDKOI 2016] 地图 map
状压DP
[SDOI2009]学校食堂Dining
值得注意的状压DP妙题。
[HNOI2012]集合选数
奇妙的构造题。
树形DP
[Hnoi2014]世界树
让我对虚树有了更加深刻的理解。
[Poi2014]Hotel
此题告诉我们优秀的状态设计是多么重要,如果够闲还可以长链剖分优化一下去A掉BZOJ上的加强版。
凸优化/带权二分
留一个博文链接免得自己忘记:关于WQS二分算法以及其一个细节证明
琐碎的东西
[bzoj3437]小P的牧场
虽然正推也推得动,但逆推的思想值得注意。
[HNOI2015]落忆枫音
一道好像没用什么知识但总感觉很难的题。
[TJOI2015]组合数学
存在一种形似模拟费用流的贪心算法???
愿你有一天能和重要的人重逢