【动态规划】背包问题
via サン猫の時間漂流
via サン猫の時間漂流
Telegraph
【动态规划】背包问题
前言 根据维基百科,背包问题(Knapsack problem)是一种组合优化的 NP 完全(NP-Complete,NPC)问题。问题可以描述为:给定一组物品,每种物品都有自己的重量和价格,在限定的总重量内,我们如何选择,才能使得物品的总价格最高。NPC 问题是没有多项式时间复杂度的解法的,但是利用动态规划,我们可以以伪多项式时间复杂度求解背包问题。一般来讲,背包问题有以下几种分类: 01 背包问题 完全背包问题 多重背包问题 此外,还存在一些其他考法,例如恰好装满、求方案总数、求所有的方案等。本文接下来就分别讨论一下这些问题。…