[关闭]
@MLEAutoMaton 2019-04-03T16:49:02.000000Z 字数 975 阅读 635

斜率优化复习笔记

学习笔记


快省选了,感觉自己dp像是什么都没有学一样,还是tcl.

适用范围

就是转移式子和,,以及*有关,那么就可以斜率优化.

大致思路

你把式子暴力展开,然后把只跟有关,跟无关,跟有关的分成三类,然后转移就好了.

考虑对于>,j为更优的决策,那么显然有:

这个东西把跟有关的放到右边,剩下的在左边就可以了.
具体的还是看具体的题目吧.

[HNOI2008]玩具装箱toy

很容易写出的转移方程:

接着看这个和斜率优化的适用范围很符合,于是就搞一个斜率优化套上去!
无关的有:
只与有关的有:,,
有关的是:
考虑把最后一个式子变成不相关:

我们接下来就可以设
的和.

考虑存在>是更优的转移点:
写一下的转移式,然后与无关的就是斜率了.
然后拿个单调队列随便搞一下就可以了.

代码戳这里

p.s.

在询问神仙后才明白什么时候维护上凸壳/下凸壳.
你考虑你每一次的iji$有关的东西他的递增关系.
如果是递减的,也就是斜率递减,那么就是上凸壳.
否则就是下凸壳,然后按照情况维护就好了.

[APIO2010]特别行动队

还是和上面那道题目一样,考虑那么三个东西:
无关:
只与有关:
有关:

然后算出来斜率的式子应该是:

emmm,然后就按照上面的那个套路维护就好了.
这里维护的应该是一个上凸壳,具体看ps里面讲的.

代码戳这里

未完待续....

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注