中级动态规划训练(1)

链接
http://acm.hust.edu.cn/vjudge/contest/view.action?cid=100926#overview

A有难度的区间动态规划
首先计算如果无色的向目标状态过渡,
然后在计算初始状态向目标过渡

B
动态方程很简单不过需要用到队列优化
注意单调队列的经典写法

while (!F(head) && head <= tail)
head++;
while (!F(tail)&& tail >= head)
tail–;
q[++tail] = j;
k = q[head];
dp[i][j] = max(dp[i][j], dp[i - 1][k] + delta);

C树形动态规划,需要考虑回不回到根的问题
其中一边深度搜索,一边进行背包的想法值得借鉴

D UVALive - 4490 Help Bubu
题意是抽取K本书使得这些书的波荡程度最小
书的高度范围很小很明显需要用状态压缩
可以借鉴B题的想法,在更新答案的时候不需要考虑拿走的书会放在哪里,只需要在最后求结果的时候对书进行贪心的放置就行了。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值