APIO2010 特别行动队
[frac{f_j+a imes sum_j^2+b imes sum_j-f_k-a imes sum_k^2-b imes sum_k}{sum_j-sum_k} >2asum_x
]
转移点 (j,k) ,当前点 (x) ,右侧是单调降的
如果 (j>k) 且上式成立,则 (j) 比 (k) 优
元素关系单调降的单调队列(即一个上凸壳)
弹栈:
如果队首的两个点的斜率大于 (2asum_x),就弹
队尾就是满足单调降就好了
ZJOI2007 仓库建设
(f_x=(minlimits^{x-1}_ {i=1} f_i-s1_i imes dis_y+s2_i)+s1_y imes dis_y-s2_y)
其中:
[s1_x=sum ^{x}_ {i=1}p_i s2_x=sum_{i=1}^x p_i imes dis_i
]
如果 (i<j) 且
[frac{f_i-f_j+s2_i-s2_j}{s1_i-s1_j}>dis_x
]
(i) 点则不优
右边是单调增的,所以是个下凸壳
[USACO08MAR]Land Acquisition G
首先用排序把矩形留下有用的部分
然后元素是满足 (x) 单调减,(y) 单调增
然后就可以斜率优化了
[frac{f_j-f_k}{x_{k+1}-x_{j+1}}>y_i
]
右面是单调增的,维护下凸壳即可
SDOI2016征途
先推方差
把式子推成:
[m^2s^2=(m sumlimits _{i=1}^m d_i^2)-(sum^ m _{i=1} v_i)^2
]
所以这个式子最后就是求 (sumlimits_{j=1}^i d_i^2) 的最小值
其中 (d_i) 表示第 (i) 天走的路程
设 (f_{i,j}) 为前 (i) 段分 (j) 天走的最小方差
这里我们对于每个 (j) 进行计算
[f_{i,j}=minlimits_{p=1}^{i-1} f_{p,j-1}+(s_i-s_j)^2
]
直接拆式子:
如果 (x<y) 且
[frac{f_x+s_x^2-(f_y+s_y^2)}{s_x-s_y}<2 imes s_i
]
则 (x) 不优
右边单调增
上单调队列即可,记得用滚动数组、
Luogu6047 丝之割
和这个题有点像??
把 ({a}) 和 ({b}) 做前缀后缀 (min)
列方程
[f_i=minlimits^{i-1}_ {j=1} f_j+a_{x_{j+1}-1} imes b_{y_i+1}
]
由于做了前缀后缀 (min)
所以我们在取 ({a}) 和 ({b}) 直接对应下标取就好
这里加 (1) 减 (1) 相当繁复
由链接的那个题,先处理哪些点是没有用处的
然后直接斜率优化这个转移即可
式子:
[frac{f_p-f_q}{x_p-x_q}<y_i
]
这里的加一减一啥的就不往式子里写了
右边排完序单调,维护下凸壳