B - Bone Collector (01背包)
生活随笔
收集整理的這篇文章主要介紹了
B - Bone Collector (01背包)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目:
涂奧最近迷上了吃雞,房間有n個配件,每個配件有c(c<=1e3)的重量和v(v<=1e3)的價值,哇,涂奧撿了一個2級包,容量為s,所以涂奧最多當多肥的快遞員呢?
Input
輸入的第一行是T, 表示有一共要打T場比賽.
每組數據由三行組成.
第1行包含兩個整數n和s 第2行包含n個整數, 表示每一個配件的價值. 第3行包含n個整數, 表示每個配件的重量.
Output
對每一組數據, 輸出涂奧可以多肥.
Sample Input
1
10 10
1 3 5 7 9 11 13 15 17 19
19 17 15 13 11 9 7 5 3 1
Sample Output
51
代碼:
#include <iostream> #include <cstring> using namespace std; long long dp[1010]; int main() {int t,n,i,s;long long w[1010],v[1010];cin>>t;while(t--){memset(dp,0,sizeof(dp));//注意將dp數組清空 cin>>n>>s;for(i=0;i<n;i++)cin>>v[i];for(i=0;i<n;i++)cin>>w[i];for(i=0;i<n;i++)for(long long j=s;j>=w[i];j--)dp[j]=max(dp[j],dp[j-w[i]]+v[i]);cout<<dp[s]<<endl;}return 0; }總結
以上是生活随笔為你收集整理的B - Bone Collector (01背包)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HDU 1009 - FatMouse'
- 下一篇: HDU 2191 - 悼念512汶川大地