ことばがありあまれどなお、 このゆめはつづい|

trsins

园龄:3年10个月粉丝:18关注:2

【做题记录】POI2011 Lightning Conductor

  • POI2011 Lightning Conductor

    • 算法:决策单调性优化DP

题目:

给定一个长度为 n 的序列 {an},对于每个 i[1,n] ,求出一个最小的非负整数 p ,使得 j[1,n],都有 ajai+p|ij|

1n5×1050ai109


题解:

先考虑把 pi 单独移到一边。

piajai+|ij|

pi=maxj=1n{aj+|ij|}ai

直接考虑拆开绝对值。

pi=max(maxj=1i{aj+ij},maxj=in{aj+ji})ai

单独看前一部分

pi=maxj=1i{aj+ij}ai

显然后一部分即为第一部分翻转。

以下只考虑第一部分。

考虑对于每个 j,把 aj+ij 看成关于 i 的函数 fj

答案即为在所有 ji 的函数中找到最值。

那么接下来考虑证明这玩意的决策单调性。

笔者几何不好,所以选择代数证明。

相信大家都会四边形不等式。(w(a,d)+w(b,c)w(a,c)+w(b,d),其中满足 abcd

即对于 fi=min{fj+w(j,i)},j[0,i],若函数 w 满足四边形不等式,则 f具有决策单调性。

w(i,j)ij,钦定 c>a+1,得

w(a,c)=ca,w(a+1,c)=ca1,w(a,c+1)=ca+1,w(a+1,c+1)=ca

w(a,c+1)+w(a+1,c)w(a,c)w(a+1,c+1)=ca1+ca+12ca

d=ca

w(a,c+1)+w(a+1,c)w(a,c)w(a+1,c+1)=d+1+d12d=(d+1d)(dd1)

xx1 具有单调性

w(a,c+1)+w(a+1,c)w(a,c)+w(a+1,c+1)

那么显然这个可以推广至 a,b,c,d

由于本题求 max,因为将式子符号取反,易知满足决策单调性。

于是直接上两次单调队列就好了。

时间复杂度 O(n)

本文作者:trsins

本文链接:https://www.cnblogs.com/trsins/p/15815378.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   trsins  阅读(30)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示