一、单调队列
在队首队尾同时进行删除,在队尾进行插入。
二、一般性质
1、在原数组中的位置
2、他在动态规划中的状态值
单调队列保证这两个值同时单调(不同时单调的话保证位置单调用bst存状态)
三、一般式
f(x)=opt(const[i]),i=[bound[x],x-1],其中bound[x]随着x单调不下降,const[i]则是可以根据i在常数时间内确定的唯一的常数,(或者在对数级)
1、如果位置和状态值同时单调用约束先出队头,然后算状态,然后在将当前加入。
2、如果位置单调状态值不单调,用bst维护状态值。
以前写过的题现在写竟然又不会了……然后我的四边形不等式优化的姿势好像有点奇怪(因为是学习某位大神的))
玩具装箱toy
3、满足f[i,j]+f[i',j']<=f[i',j]+f[i,j'],用四边形不等式优化
4、满足斜率单调用斜率优化
5、满足斜率单调, 但决策点随机,用splay维护凸包(orz)