
单调队列dp
w4149
无
展开
-
fireworks 烟花 (单调队列dp)
fireworks题解10.17思路: 首先设dp[i][j]为到放第i个烟花的时候站在j的位置可以获得的最大快乐值。 那么我们可以很容易写出转移方程: dp[i][j] = max(dp[i - 1][k]) + b[i] - |a[i] - j|,其中max(1, j – t * d)<=k<=min(n, j+t * d) 。 不过我们可以发现b[i]是固定的,那么我们转化为求所有|a原创 2017-10-17 19:18:30 · 391 阅读 · 0 评论 -
Gift (单调队列优化dp)
10.10思路: 很明显得状态定义以及转移关系 Dp[i][j]表示前i个人装饰前j个单位能得到的最大魅力度 Dp[i][j]=max(dp[i-1][k]+(j-k)*w);(k+1<=原始位置<=j) 经过变形,可以得到dp[i][j]=max(dp[i-1][k]-k*w)+j*w,对于每一个dp[i][j]来说,j是常量,而k是变量,故将dp[i-1][k]-k*w部分求max,而且原创 2017-10-10 20:54:21 · 303 阅读 · 0 评论