专栏文章

题解:AT_abc431_d [ABC431D] Robot Customize

AT_abc431_d题解参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@min6s0tr
此快照首次捕获于
2025/12/01 21:29
3 个月前
此快照最后确认于
2025/12/01 21:29
3 个月前
查看原文

题意

现有 nn 个部件,第 ii 个部件的重量为 WiW_i,每个部件需要装到机器人的头部或身体上,第 ii 个部件装在头部可以产生 HiH_i 的幸福值,装在身体上可以产生 BiB_i 的幸福值。装完所有部件后,头部的总质量为装在头部的所有部件的质量总和,身体的总质量为装在身体上的所有部件的质量总和。求在头部总质量不大于身体总质量的前提下,最多能产生多少幸福值。

分析

  1. 我们可以发现,重量其实可以看作代价,幸福值可以看作价值,考虑背包 DP。
  2. 既然是 DP,那状态怎么设计呢?我们可以按照一般背包思路先假设一个:dpi,jkdp_{i,j,k} 表示只考虑前i个部件,头部总质量为 ii,身体总质量为 kk 可以产生的最大幸福值。经过计算可以发现会超空间,怎么办呢?
  3. 其实既然已经记录了j,k可以用前i个部件的总质量减去j得到,所以不需要记录k,这样就不会超了。

评论

0 条评论,欢迎与作者交流。

正在加载评论...