以0/1背包为例,到底正序枚举还是倒序枚举?

正序枚举还是倒叙枚举的原则取决于0/1背包的性质,即一个阶段的状态(1个物品)不能被放进背包两次。如果正序枚举的话,当前阶段被上一个阶段更新,而下一个阶段仍然可能被上一个阶段更新。多以就相当于一个物品被放进了背包两次。违背0/1背包的规则。

而完全背包就不需要考虑这一点,因为物品是无限多个,随便挑最优的往里扔即可。

所以0/1背包必须倒叙枚举,才能保证一个状态不被重复更新。而完全背包需要正序枚举,才能维护一种物品有好多个的这个性质。

相关文章:

  • 2021-12-31
  • 2022-01-20
  • 2022-01-03
  • 2021-11-20
  • 2021-07-28
  • 2021-07-25
  • 2021-06-19
  • 2021-12-15
猜你喜欢
  • 2021-09-19
  • 2021-08-01
  • 2021-10-15
  • 2021-07-24
  • 2021-12-06
  • 2022-12-23
  • 2022-01-17
相关资源
相似解决方案