n個重量和價值分別為w, v的物品。找出總重量不超過w 的物品,求所有挑選方案中價值總和的最大值。
n=4;
(w,v)=
w=5;
輸出:7 (選0號,1號,3號)
理解:
//n個物品 揹包容量w
//int w[max_n],v[max_n]; weight,value;
//暴搜 o(2^n)
int rec(int i,int j)
else if(j=0)
int res;
if(i==n)
else if(j=w[i];j--)
} cout《最終** :
#includeusing namespace std;
const int max_n=10000;
int n,w;
int w[max_n],v[max_n];
int dp[max_n+1];
void solve()
}printf("%d\n",dp[w]);
}int main()
solve();
return 0;
}
DP入門, 0 1揹包問題
hloj 1006 0 1揹包問題 hdu 2602 bone collector類似,但要注意輸入順序,問題規模,最重要的是重量為0的骨頭居然也有價值的!includeusing namespace std define n 401 define m 1501 int f n m 下標從1開始用 ...
揹包dp之01揹包
現在我們有n個配件,他們有不同的價值.但是我們揹包的容量是有限的,因為我們只有乙個一級包,所以我們最多可以裝v重量的東西.但是為了能更好的吃到雞 不存在的 我們要攜帶更有價值的配件,請問我們最多能拿多少價值的配件來當快遞員呢?輸入的第一行是t,表示有一共要打t場比賽.每組資料由三行組成.第一行包含兩...
01揹包入門
01揹包問題模型 有n件物品和乙個容量為v的揹包。第i件物品的費用是c i 價值是w i 求解將哪些物品裝入揹包可使價值總和最大。這是最基礎的揹包問題,特點是 每種物品僅有一件,可以選擇放或不放。用子問題定義狀態 即f i v 表示前i件物品恰放入乙個容量為v的揹包可以獲得的最大價值。則其狀態轉移方...