背包问题 python

解决的关键在于理解计算每个单元格的公式:

    cost[i,j] = max(不加该商品的价值,加该商品的价值+剩余空间可用的价值)

    不加该商品的价值 = cost[i-1,j]

    加该商品的价值 = items[i-1] #因为比较而言多加了0

    剩余空间的可用价值 = cost[i-1][j-weight[i-1]]  #weight 也是因为需要减少多家的0