CodeForces - 372C 单调队列优化dp

博客深入探讨了如何使用单调队列优化解决一道动态规划问题——CodeForces上的372C题目。文中指出,虽然单调队列是辅助工具,但理解并构建合适的dp方程才是关键。通过阐述题目背景、状态转移方程以及优化策略,博主详细解释了如何在烟花放置问题中最大化权值。
摘要由CSDN通过智能技术生成

第二道 单调dp题
单调队列只是辅助,dp是关键,写出合理的dp方程才知道并用单调队列优化。
大意:1-n 个地点 ,放m次烟花 ,每次可走d的长度 (可以不是必须)
给出m次烟花的参数
a[i] —烟花地点 b[i]–第i次烟花的一个参数,没什么实际意义 t[i]—燃放烟花的时间
每放一次烟花,这个人就会得到 bi - |ai - x| 的权值 x是当时的位置

给出状态方程:
dp[i][j]:第i次燃放烟花时,且人在j 时的最大值。

dp[i][j] 可以转移到什么状态 ——> dp[i+1][k]
dp[i][j] = max(dp[i][k]) + b[i] -|a[i]-j|
就是说 我现在可以从k 的位置走到 j,并加上相应的权值。
那么k会受到 t[i] -t[i-1] 和 d 的限制
限制是什么?
Δ t = t i − t i −

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值