背包九讲
本篇文章设计的题目均在 AcWing 的2-12题。 一、01背包 要求 :每种物品只能选择0个或1个,即对于每种物品只有选或者不选两种情况。 题目描述 :( 题目链接 ) \quad 有 N N N 件物品和一个容量是 V V V 的背包。每件物品只能使用一次。第 i i i 件物品的体积是 v i v_i v i ,价值是 w i w_i w i 。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。 输入格式 : \quad 第一行两个整数, N , V N,V N , V ,用空格隔开,分别表示物品数量和背包容积。接下来有 N N N 行,每行两个整数 v i , w i v_i,w_i v i , w i ,用空格隔开,分别表示第 i i i 件物品的体积和价值。 输出格式 : \quad 输出一个整数,表示最大价值。 数据范围 : 0 < N , V ≤ 1000 0<N,V≤1000 0 < N , V ≤ 1 0 0 0 0 < v i , w i ≤ 1000 0<v_i,w_i≤1000 0 < v i , w i ≤ 1 0 0 0 输入样例 : 4 5 1 2 2 4 3 4 4 5 输出样例 : 8 思路1:二维数组记录 \quad f[i][j] 表示只看前 i 物品,总体积是 j