01 背包问题限定条件最优解
动态规划算法
01 背包问题是求在限定条件下,在一定的容量内最优
装载物品,使得总价值最大。动态规划算法是一种用于解
决多阶段决策问题的途径,其特点是将原问题划分成若干
子问题,每个子问题只求解一次,保存子问题的解,避免
了重复计算。
01 背包问题动态规划算法的步骤如下:
1、确定状态:物品的种数 i (i=1,2,…n),背包的容
量 j (j=0,1,2,…V)。
2、确定状态转移方程: f[i][j]=max{f[i-1][j],f[i-
1][j-wi]+vi}。
3、确定初始状态: f[i][0]=0,f[0][j]=0。
4、确定输出:最后 f[n][V]即为最优解。
5、根据状态转移方程从左到右,从上到下进行迭代计
算。