浅谈斜率优化DP(总结)

前几天洛谷的智障推荐一直都很智障,于是我就去随机跳题,跳到一题斜率优化DP o(╥﹏╥)o

跳到了不会做?这个就很难受了。不服,看题解,勉强学会,结果一发不可收拾

这几天连着刷,感觉是时候写一篇总结了

然而,我懒得画图(逃

放一个链接吧,就是第一篇,讲得非常好

不过还要提醒一下像我一样的萌新:

1、队列一开始不能为空,不能放1,必须放0 。如果放1则会漏掉一些从0转移来的结果,如果为空则……你可以试试,不挂算我输

2、求min则维护下凸包,求max则维护上凸包。这个很容易理解,不作解释

3、不等号不要搞反。错一个不等号可以把100分弄成0~20分。具体是大于还是小于要根据维护类型决定

4、尽量让0~n的x值单调递增。注意0也包括在内。如果x值单调递减或乱跳可能会出现一些奇奇怪怪的错误(大神请忽略)

5、求斜率时顺序不要搞反。最好主函数内全都从左往右,斜率函数内\frac{y_2-y_1}{x_2-x_1}。虽然一般时候顺序不会影响,但遇上x_1==x_2时顺序会很重要。

没啦\(^o^)/

推荐例题(均在洛谷题库内):

1、P2120 [ZJOI2007]仓库建设 

2、P2900 [USACO08MAR]土地征用Land Acquisition 

3、P3648 [APIO2014]序列分割 

4、P3628 [APIO2010]特别行动队 

5、P3195 [HNOI2008]玩具装箱TOY

猜你喜欢

转载自blog.csdn.net/pb122401/article/details/81558554