HDU-2602 Bone Collector
2015-05-01 12:55
218 查看
简单01背包
状态转移方程 dp[j] = max{dp[j], dp[j - volume[i]] + value[i]};
状态转移方程 dp[j] = max{dp[j], dp[j - volume[i]] + value[i]};
#include<iostream> #include<algorithm> #include<cstring> #define mem(a) memset(a, 0, sizeof(a)) using namespace std; const int maxn = 1050; int dp[maxn]; int value[maxn]; int volume[maxn]; int main() { int T; cin >> T; while(T--) { int n, v; cin >> n >> v; for(int i = 1 ; i <= n ; i++) cin >> value[i]; for(int i = 1 ; i <= n ; i++) cin >> volume[i]; mem(dp); for(int i = 1 ; i <= n ; i++) for(int j = v ; j >= volume[i] ; j--) dp[j] = max(dp[j - 1], dp[j - volume[i]] + value[i]); cout << dp[v] << endl; } return 0; }
相关文章推荐
- HDU 2602 Bone Collector 背包
- HDU 2602 Bone Collector --01背包
- HDU_2602_Bone Collector
- hdu 2602 Bone Collector(01背包)
- HDU 2602 Bone Collector(01背包)
- hdu 2602 Bone Collector--DP
- HDU 2602 Bone Collector
- HDU 2602 Bone Collector
- hdu-2602-Bone Collector
- HDU-2602-Bone Collector(01背包)
- HDU2602——Bone Collector
- hdu 2602 Bone Collector【01背包】
- HDU 2602 Bone Collector
- HDU 2602 Bone Collector(DP:01背包)
- HDU 2602 Bone Collector
- HDOJ HDU 2602 Bone Collector
- HDU 2602 Bone Collector(01背包)
- HDU 2602: Bone Collector
- HDU 2602 -Bone Collector
- HDU--2602:Bone Collector (经典0-1背包)