一.考虑如下DP方程
1.m为常数,s表示数组前缀和
2.化简可得
3.观察式子可知,若想dp[i]更小,则需要更小
4.因此dp方程转换为
5.令y等于,k等于,x等于
6.又因为递增,因此用一个单调队列维护凸包即可
二.出队优化
1.队首出队
若存在两个点a,b,且a<b
若i从b转移优于从a转移,则有
化简式子后
又因为,因此移项可得
时从队首弹出
2.队尾出队
考虑下方情况,因为斜率递增,因此答案取t1一定不优
因此要去掉t1,如果t1和t2斜率大于t1和i的斜率那么t1出队
则
若k1>=k2,则弹出t1,式子化简为