HDU 2602 - Bone Collector(01揹包)
題目連結 http://acm.hdu.edu.cn/showproblem.php?pid=2602
【思路】
01揹包問題
#include<bits/stdc++.h> using namespace std; const int maxn=1005; int n,W; int w[maxn],v[maxn]; int dp[maxn]; int main(){ int T; scanf("%d",&T); while(T--){ scanf("%d%d",&n,&W); for(int i=0;i<n;++i) scanf("%d",&v[i]); for(int i=0;i<n;++i) scanf("%d",&w[i]); memset(dp,0,sizeof(dp)); for(int i=0;i<n;++i){ for(int j=W;j>=w[i];--j) dp[j]=max(dp[j],dp[j-w[i]]+v[i]); } printf("%d\n",dp[W]); } return 0; }
相關推薦
HDU 2602 Bone Collector(01揹包)
Bone Collector Many years ago , in Teddy’s hometown there was a man who was called “Bone Collector”. This man like to collect varies of bones , s
HDU 2602 - Bone Collector(01揹包)
題目連結 http://acm.hdu.edu.cn/showproblem.php?pid=2602 【思路】 01揹包問題 #include<bits/stdc++.h> using namespace std; const int maxn=1005; int
HDU-2602-Bone Collector(01揹包+dp)
Many years ago , in Teddy’s hometown there was a man who was called “Bone Collector”. This man like to collect varies of bones , such as dog’s , cow’s
HDU 2602 Bone Collector(01揹包問題)
如果直接搜尋,會浪費大量時間搜尋已知的結果,造成超時。 可以用記憶化陣列記錄已經搜尋過的結果,在查詢已知的結果時,直接返回即可 如果你不知道為什麼錯了,那麼........... 請注意是先輸入價值,後輸入容量 利用dp可以更好的處理,提升效率 void
Hdu oj 2602 Bone Collector(01揹包)
Bone Collector Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 56560 Accepte
HDU 2602 Bone Collector(01背包)
clu size () i++ ble tar tor turn href 題目鏈接 題意:給定n個物品的價值和重量,問大小為v的背包最多能裝多少價值的物品。 題解:01背包。 #include <bits/stdc++.h> using namespace
B - Bone Collector (01揹包)
題目: 塗奧最近迷上了吃雞,房間有n個配件,每個配件有c(c<=1e3)的重量和v(v<=1e3)的價值,哇,塗奧撿了一個2級包,容量為s,所以塗奧最多當多肥的快遞員呢? Input 輸入的第一行是T, 表示有一共要打T場比賽. 每組資料由三行組成. 第1行包含兩個整數
hdoj2602:Bone Collector(01揹包問題-dp-模版題)
Bone Collector Time Limit : 2000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other) Total Submission(s) : 65 &nb
HDU 2602 Bone Collector (0-1揹包問題)
The first line contain a integer T , the number of cases. Followed by T cases , each case three lines , the first line contain two integer N , V, (N <=
HDU 2546 飯卡( 01揹包 )
這是一道簡單的01揹包 題意:給你N種菜的價錢,給你一個初始的錢數,問你做多能花費多少 但是注意一個條件,當身上的錢>=5時,可以購買任何價錢的菜,如果<5則不能購買任何價錢的菜
hdu-2546飯卡(01揹包)
飯卡Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission
HDU 2546 飯卡 (01揹包)
題意分析:01揹包 AC_CODE int n; int v[1002] , money; int dp[1002]; int main() { while(cin >> n && n) { int i , j
HDU 2546 飯卡(01揹包)
Description 電子科大本部食堂的飯卡有一種很詭異的設計,即在購買之前判斷餘額。如果購買一個商品之前,卡上的剩餘金額大於或等於5元,就一定可以購買成功(即使購買後卡上餘額為負),否則無法購
HDOJ 題目2602 Bone Collector(動態規劃,01揹包)
Bone Collector Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 29252 Accepted
題解報告:hdu Bone Collector(01背包)
收集 骨骼 不同的 很多 AS 背包 std int 問題 題目鏈接:http://acm.hdu.edu.cn/showproblem.php?pid=2602 問題描述 許多年前,在泰迪的家鄉有一個叫做“骨頭收藏家”的男人。這個男人喜歡收集各種各樣的骨頭,比如狗的
HDU 2602 動態規劃+二維陣列、一維陣列兩解法(01揹包)
這道題就是簡單用二維陣列解決的時候,就是簡單的動態規劃,但是坑就坑在可能出現體積為0但是價值不為0的例子 一:二維陣列 下面是錯誤的程式碼 #include <iostream> #include <cstring> #include <
hdu 2602 Bone Collector【遺傳演算法解01揹包】
hdu 2602 Bone Collector 題目分析:01揹包水無坑,由於本篇是用GA解,學習ACM中01揹包問題解法的同學請移步 原連結 。 對遺傳演算法的認識:對生物界遺傳過程進行模擬來解決問題的一種演算法,大體流程如下:遺傳(指定generation數){計算
HDU 1864 (01揹包)
題目是中文,就不解釋了 。 最近準備系統的刷DP了,從揹包開始。 #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> u
hdu——1171(01揹包)
題目連結: 【分析】 把題目轉化為01揹包 兩個相近的的話 就是接近於總長的1/2 #include<cstdio> #include<iostream> #include<algorithm> #include<cstri
hdoj2602:Bone Collector(基礎揹包問題-dp-模版題)
Bone Collector Time Limit : 2000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other) Total Submission(s) : 65 Accepted Subm