背包问题有三种:
1. 01背包: 每件物品只能放一次
2. 完全背包:每种物品可以放无限多次
3. 多重背包:每件物品可以放有限次数
01背包
1)问题描述:**有n 个物品,它们有各自的重量和价值,现有给定容量的背包,如何让背包里装入的物品具有最大的价值总和?(一个物品选一次)
(2)递推关系式:
- j<w(i): V(i,j)=V(i-1,j)
- j>=w(i): V(i,j)=max{V(i-1,j),V(i-1,j-w(i))+v(i)}
(3)优化空间:
/*
01背包
适用于输入格式如下的问题,出现问题请自行调整:
第一行两个整数M, N分别表示背包空间与物品总数;
第2到N+1行每行两个整数,分别表示这类物品每个的价值和所需空间。
*/
#