单调队列优化DP
Posted lhm-
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单调队列优化DP相关的知识,希望对你有一定的参考价值。
优化形如(f_i=min/max(f_i,f_j+val_i)(l_ileqslant jleqslant r_i)) 的(DP)方程
如瑰丽华尔兹中(DP)方程为(f_{i,j}=max(f_{i,j},f_{i-dx_,j-dy}+dis_{i,j,i-dx_,j-dy}))
(code:)
while(h<=t&&f[x][y]>q[t].val+dis(x,y,q[t].x,q[t].y)) t--;
q[++t]=(que){f[x][y],x,y};
while(h<=t&&(abs(x-q[h].x)>len||abs(y-q[h].y)>len)) h++;
f[x][y]=max(f[x][y],q[h].val+dis(x,y,q[h].x,q[h].y));
ans=max(ans,f[x][y]);
以上是关于单调队列优化DP的主要内容,如果未能解决你的问题,请参考以下文章