POJ3624——01背包
2012-08-01 22:12
190 查看
题目大意:
一个镯子,对它施以魔法,增加属性值。而其本身承重能力有限。
每种魔法能最镯子增加 一定属性,但是也会增加镯子的重量。
给出几种魔法 增重、增加属性的信息 和 镯子的承重限制。
求出最佳方法使得镯子获得最佳属性。
每种魔法只能使用一次。
浅析:
典型的01背包问题。
第一次见到01背包的题,才知道有这么个算法。看到题的时候还不知道怎么入手,遂参考了一下别人的代码。
代码如下:(仅供参考)
一个镯子,对它施以魔法,增加属性值。而其本身承重能力有限。
每种魔法能最镯子增加 一定属性,但是也会增加镯子的重量。
给出几种魔法 增重、增加属性的信息 和 镯子的承重限制。
求出最佳方法使得镯子获得最佳属性。
每种魔法只能使用一次。
浅析:
典型的01背包问题。
第一次见到01背包的题,才知道有这么个算法。看到题的时候还不知道怎么入手,遂参考了一下别人的代码。
代码如下:(仅供参考)
#include<iostream> using namespace std; int f[12881]; int max(int a,int b) { return a>b?a:b; } int main() { int Num,TotalWeight,i,k,j,weight[12881],value[12881]; cin>>Num>>TotalWeight; f[0] = 0; for(i=0; i<Num; i++) cin>>weight[i]>>value[i]; for(i=0; i<Num; i++) for(k=TotalWeight; k>=weight[i]; k--) { f[k]=max(f[k],(f[k-weight[i]]+value[i])); } cout<<f[TotalWeight]<<endl; return 0; }
相关文章推荐
- 【POJ 3624】 + 01背包 + dp
- POJ 3624 Charm Bracelet(01背包)
- POJ 3624 Charm Bracelet【01背包】
- POJ 3624 Charm Bracelet(经典的01背包问题)
- poj 3624 dp-01背包
- poj3624 dp 01背包
- POJ 3624 Charm Bracelet(01背包问题)
- POJ-3624--Charm Bracelet--01背包
- poj 3624 Charm Bracelet (01背包)
- POJ3624 Charm Bracelet(01背包问题)
- POJ 3624 Charm Bracelet(DP 01背包)
- 01背包(模板题) 之 poj 3624
- poj 3624 01背包
- POJ 3624 Charm Bracelet (01背包)
- POJ 3624 Charm Bracelet(01背包)
- poj 3624 01背包
- 01背包(模板题) 之 poj 3624
- POJ3624 Charm Bracelet 【01背包】
- POJ3624 - Charm Bracelet(01背包)
- poj 3624 Charm Bracelet(01背包)