摘要:
背包问题 01背包 给定的物体只有0个和1个,只有选与不选的划分,其状态转移方程时由i-1行推出,所以第二层循环是由j=m,递减到v[i]的。 for(int i=1;i<=n;i++){ for(int j=m;j>=v[i];j--){ f[j]=max(f[j],f[j-v[i]]+w[i]) 阅读全文
posted @ 2022-03-25 09:12
open520
阅读(40)
评论(0)
推荐(0)
摘要:
多重背包优化做法(通过分组打包捆绑将多重背包转换成01背包,通过二进制优化) 有 N 种物品和一个容量是 V 的背包。 第 i 种物品最多有 si 件,每件体积是 vi,价值是 wi。 求解将哪些物品装入背包,可使物品体积总和不超过背包容量,且价值总和最大。 输出最大价值。 输入格式 第一行两个整数 阅读全文
posted @ 2022-03-25 09:06
open520
阅读(31)
评论(0)
推荐(0)
摘要:
朴素做法(无优化版) 有 N 种物品和一个容量是 V 的背包。 第 i 种物品最多有 si 件,每件体积是 vi,价值是 wi。 求解将哪些物品装入背包,可使物品体积总和不超过背包容量,且价值总和最大。 输出最大价值。 输入格式 第一行两个整数,N,V,用空格隔开,分别表示物品种数和背包容积。 接下 阅读全文
posted @ 2022-03-25 09:03
open520
阅读(39)
评论(0)
推荐(0)

浙公网安备 33010602011771号