博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
poj 2063完全背包
阅读量:6984 次
发布时间:2019-06-27

本文共 765 字,大约阅读时间需要 2 分钟。

题意:给出总资金和投资年份 ,n个股票 给出股票价格和其一年的利润。问如何选择能获得最大利润。

 

思路:股票可以重复选择,完全背包问题,完全背包也是从01背包衍生而行的,其主要区别在于中间那层循环的次序不同,因为完全背包没有次数的限制,因而其当前状态会受到之前选择的状态影响。

这题由于每个股票的价格都是1000为单位的,所以将价格除掉1000,优化内存。

 

代码:

#include
#include
#include
using namespace std;int n,T,price,year,sum;int v[20],w[20],dp[200005];int main(){ scanf("%d",&T); while(T--) { scanf("%d%d",&price,&year); scanf("%d",&n); for(int i=0;i
=v[j]) { dp[k]=max(dp[k],dp[k-v[j]]+w[j]); } } } price+=dp[sum]; //资金加上投资获得的利润 } printf("%d\n",price); } return 0;}

 

转载于:https://www.cnblogs.com/amourjun/p/5134117.html

你可能感兴趣的文章
uva 10099 The Tourist Guide
查看>>
详解C#break ,continue, return
查看>>
OSG闪存
查看>>
JPA概要
查看>>
php 去除二维数组中的包含某一个值的数组
查看>>
BUTTON标签和INPUT标签的区别【转】
查看>>
shell 命令详解
查看>>
PowerShell自动删除过期数据
查看>>
c# string总结
查看>>
队列的实现与应用
查看>>
PHP框架 Phalcon 1.0.0 beta发布,实测性能强劲
查看>>
程序集信息设置.net
查看>>
分享:When.js 2.0.0 发布,Promises/A 的实现
查看>>
poj1578
查看>>
Build Release Blogs
查看>>
Vim案例两则
查看>>
函数式编程学习之路(一)
查看>>
Win7安装VC++6.0已知的兼容性问题的解决方法
查看>>
数据库连接oracle 10g rman 备份与恢复 之一
查看>>
asp.net开源CMS推荐
查看>>