1.0-1 背包问题
一个背包有一定的承重,有N件物品,每件都有自己的价值,记录在数组v中,也有自己的重量记录在数组w中,要求不超过背包承重前提下,选出物品最大的价值量。
//0-1背包问题,要么选择,要不不选择,只有一个
public class maxValue {
//dp[x][y]表示前X件物品,不超过重量Y时候的最大价值。枚举第X件物品的情况:
//如果选择第X件物品,则前X-1件物品得到的重量不能超过y-W[x]
//如果不选择第x件物品,则前x-1件物品的重量不能超过y
//dp[x][y]=max[dp[x-1][y],dp[x-1][y-w[x]]+v[x]]
int maxValue1(int[] w,int[] v,int n,in