算法标签:单调队列,dp
难度:黄
我们记 dp[i]dp[i]dp[i] 为仅考虑前 iii 个烽火台且第 iii 个烽火台被点燃的最小代价 。显然,dp[i]=max(dp[j]+x[i])dp[i]=max(dp[j]+x[i])dp[i]=max(dp[j]+x[i]) ,其中 jjj 可以取 i−1i-1i−1 至 i−mi-mi−m 。用单调队列维护即可 。
注意答案为 max(dp[n−m+1]...dp[n])。max(dp[n-m+1]...dp[n]) 。max(dp[n−m+1]...dp[n])。
By signing up a HFOJ universal account, you can submit code and join discussions in all online judging services provided by us.
Using your HFOJ universal account