【练习】背包问题经典习题
原创约 3991 字
背包问题是一类经典的动态规划问题,主要是在某个限制内,选择最优的元素组合。
其特点在于 dp
数组的定义方式,第一个维度的定义是「仅使用前 i
个物品」,之后的维度用来定义限制条件。
比如经典的 0-1 背包问题,dp
数组定义如下:
// 定义:dp[i][j] 表示使用前 i 个物品,背包容量为 j 的情况下,可以获得的最大价值
int[][] dp = new int[N + 1][W + 1];
下面列举几道和背包问题相关的题目,帮助大家加深理解。