DP基礎 01揹包 複習

2022-03-25 19:39:39 字數 554 閱讀 9345

時間限制: 1 sec

記憶體限制: 128 mb

乙個旅行者有乙個最多能用m公斤的揹包,現在有n件物品,它們的重量分別是w1,w2,...,wn,它們的價值分別為 c1,c2,...,cn。若每種物品只有一件,求旅行者能獲得最大總價值。

第一行:兩個整數,m(揹包容量,m<=200)和n(物品數量,n<=30);

第2..n+1行:每行二個整數wi,ci,表示每個物品的重量和價值。

僅一行,乙個數,表示最大總價值。

10 4

2 13 3

4 57 9

12
【題解】

就是0/1揹包,不過輸入比較蛋疼,先輸入m再輸入n。

複習一下0/1揹包的dp方程:f[i]=max(f[j-c[i]]+w[i])  j from m downto c[i].

1 #include2

using

namespace

std;

3int f[700010],n,m,c[510],w[510];4

intmain()

揹包dp之01揹包

現在我們有n個配件,他們有不同的價值.但是我們揹包的容量是有限的,因為我們只有乙個一級包,所以我們最多可以裝v重量的東西.但是為了能更好的吃到雞 不存在的 我們要攜帶更有價值的配件,請問我們最多能拿多少價值的配件來當快遞員呢?輸入的第一行是t,表示有一共要打t場比賽.每組資料由三行組成.第一行包含兩...

Bone Collector(複習01揹包)

傳送門 題目大意 01揹包裸題。複習01揹包 題目有n件物品和乙個容量為v的揹包。第i件物品的費用是c i 價值是w i 求解將哪些物品裝入揹包可使這些物品的費用總和不超過揹包容量,且價值總和最大。題解 include include include using namespace std int ...

揹包dp之01揹包變形

一種雙核cpu的兩個核能夠同時的處理任務,現在有n個已知資料量的任務需要交給cpu處理,假設已知cpu的每個核1秒可以處理1kb,每個核同時只能處理一項任務。n個任務可以按照任意順序放入cpu進行處理,現在需要設計乙個方案讓cpu處理完這批任務所需的時間最少,求這個最小的時間。輸入描述 輸入包括兩行...