POJ 2063 Investment 完全背包】的更多相关文章

题目链接:http://poj.org/problem?id=2063 今天果然是卡题的一天.白天被hdu那道01背包的变形卡到现在还没想通就不说了,然后晚上又被这道有个不大也不小的坑的完全背包卡了好久.这题主要是说让你选择不同的债券(每种债券的费用和年利率的属性),然后n年后使得本金最大,如果仅仅是问一年的话就是个裸完全背包的题了,不过它是n年,每年得到的总利息都会加入到本金中变为下一年的本金,知道了这个后就很好处理了,在这道题里每年变化的本金就是背包容量,然后债券那两个属性就是物品的费用(o…
A - Investment Time Limit:1000MS     Memory Limit:30000KB     64bit IO Format:%I64d & %I64u Submit Status Practice POJ 2063 Description John never knew he had a grand-uncle, until he received the notary's letter. He learned that his late grand-uncle…
题目链接: http://poj.org/problem?id=2063 题意: 你现在有现金m元,你要做n年的存款投资,给你k种投资方式,每种需要现金vi元,能获得xi元的理论,一年到期后你要利用拿到的本息和重新投资,问这样做n年最后能拿到的最大本息和是多少. 题解: dp[i]表示你花i元去投资能获得的最大利润. 则第一年你要做的就是dp[1]->dp[m](m为初始金额) 假设获得的最大奖金为m_inte[i]: 则第二年要做的是dp[m+1]->dp[m+m_inte[i]] ...…
传送门: POJ:http://poj.org/problem?id=2063 ZOJ:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2224 大意:给你一堆本金,还有投资方案获得的利润.让你进行合理投资,要求若干年后获利最大. 完全背包问题.背包容量就是money,要尽量装满(不是风险投资哇,投资出去必获利) 开始天真的开了400多w(100万*1.1^40)的数组,直接TLE掉. 看了discuss里,因为给的利润为…
这个题的想法不难,两个点: 1 是完全背包 2 是考虑/1000,降低复杂度   但是提交的时候反复的wa,最后找问题原来是dp开小了,可是dp本来开1005,后来开到100030过了.哎,如果没有时间计算 dp的长度的话,就往大了开,血的教训.     Investment Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 10087   Accepted: 3539 Description John never knew…
题目链接:http://poj.org/problem?id=2063 题意:银行每年提供d种债券,每种债券需要付出p[i]块钱,然后一年的收入是v[i],到期后我们把本金+收入取出来作为下一年度本金继续购买债券. 问你起始本金为n元,m年后你手里最多能有多少钱. 其实这题不难..我却想了一会.. 因为题目保证了p[i]是1000的倍数,所以我们可以把本金和p[i]都先除以1000,然后算出每年可能获得的最大收入,然后加到本金当中,在暴力枚举m年就行了. 设计状态dp[j]代表我花了不超过j元钱…
题意:给定一个初始资金capital,然后给定d种投资方案,每种投资方案中有投资额value[i](是1000的倍数)和利息interest[i],每年的投资就可以拿到全部利息,然后累加起来继续投资利滚利.问经过year年后最多拥有多少资金?// 一年年的求最大利润就可以了// 每一年内都是完全背包// 这题的关键是value[i]都是1000的倍数 就可以把空间除以1000 了不然时间复杂度就高了好多#include <iostream> #include <algorithm>…
*注 虽然没什么人看我的博客但我还是要认认真真写给自己看 背包问题应用场景给定 n 种物品和一个背包.物品 i 的重量是 w i ,其价值为 v i ,背包的容量为C.应该如何选择装入背包中的物品,使得装入背包的总价值最大?*01 背包 *01 背包特点: 给定 n 种物品和一个背包 ( 每个物品只能选取一个).物品 i 的重量是w[i],其价值为v[i],背包的容量为C.应该如何选择装入背包中的物品,使得装入背包中的物品的总价值最大?*状态: dp[i][j] 表示在只能从 1-i 个物品中选…
题意:给出总资金和投资年份 ,n个股票 给出股票价格和其一年的利润.问如何选择能获得最大利润. 思路:股票可以重复选择,完全背包问题,完全背包也是从01背包衍生而行的,其主要区别在于中间那层循环的次序不同,因为完全背包没有次数的限制,因而其当前状态会受到之前选择的状态影响. 这题由于每个股票的价格都是1000为单位的,所以将价格除掉1000,优化内存. 代码: #include<iostream> #include<cstdio> #include<cstring> u…
题目链接: http://poj.org/problem?id=1155 题目大意:电视台转播节目.对于每个根,其子结点可能是用户,也可能是中转站.但是用户肯定是叶子结点.传到中转站或是用户都要花钱,如果是用户,则还可以收钱.问在不亏本的前提下最多能有多少个用户看到节目. 解题思路: 比较麻烦的树形背包.首先cost=1. 花的钱权在边,收的钱权在点,且是叶子结点.所以首先可以对叶子结点进行预处理. 用dp[i][j]表示在i点时传播j个用户(包含自身),则dp[n-m-1~n][1]=每个用户…