poj 2063 Investment
2011-07-22 20:11
309 查看
// 题意: 开始时有一定数量的钱,有d种股票可以买,给出每种股票的价格和年收益,股票价格是1000的倍数 // 如何使得投资的收益最大,即到最后手上的钱最多. #include<iostream> //完全背包 using namespace std; int dp[5000000]; int main() { int n,t,d,v,bond[50],interest[50]; cin>>n; while(n--) { cin>>v>>t>>d; for(int i=1;i<=d;++i) { cin>>bond[i]>>interest[i]; bond[i]/=1000; } while(t--) { int temp=v/1000; //就算v%1000!=0也没影响,因为bond都是以1000为单位,少于1000的连一份都买不了 for(int i=0;i<=temp;++i) dp[i]=0; for(int i=1;i<=d;++i) for(int j=bond[i];j<=temp;++j) dp[j]=max(dp[j],dp[j-bond[i]]+interest[i]); v+=dp[temp]; } cout<<v<<endl; } return 0; }
相关文章推荐
- poj 2063Investment
- poj 2063 Investment(完全背包)
- Investment 完全背包 POJ 2063
- poj 2063 Investment
- POJ 2063 Investment【完全背包】
- POJ 2063 Investment
- poj 2063 Investment
- Poj 2063 Investment
- POJ 2063 Investment
- POJ 2063 Investment
- POJ 2063 Investment
- poj 2063 Investment
- POJ-2063 Investment (完全背包 简单题)
- POJ 2063 Investment(完全背包)
- POJ 2063 Investment
- POJ 2063 Investment【经典完全背包】
- POJ 2063 Investment (完全背包)
- Poj 2063 Investment (完全背包)
- [POJ 2063] Investment (动态规划)
- POJ 2063 Investment 变形的完全背包