在生活中,我们对于一个问题以不同标准来看往往会有不同的解答,接下来,就背包问题与大家分享0 1规划思想。
背包问题往往是指以质量和价值为标准的不同种类物品,在规定背包所能承载的最大质量后,求所能放的物品的最大价值。
首先我们可以按照排序来确定,但过程较为繁琐,故我们将这个问题分解为一个个相连的子问题来求解。
用j表示物品的种数,w表示每种物品的重量,p表示物品的价值,M表示背包承载重量。然后我们根据分支形式表示
用状态方程来表示物品价值的累积
这种表示好后化为表格形式
根据书包容量查看最大价值
代码表示如下
通过重新编排数组int f[5][9]使得里面的值都是对应背包容量下的最大价值。再根据所需寻找对应的最大价值