[USACO09FEB]股票市场Stock Market
题意简述:
给定⼀个DDD天的SSS只股票价格矩阵,以及初始资⾦ MMM;每次买股票只能买某个股票价格的整数倍,可以不花钱,约定获利不超过500000500000500000。最⼤化你的 总获利。
题目分析:
首先我们要知道此题的详细意图:每天都可以用你手中有的钱买入股票,数量不限,也可以卖出你自己的股票,所得的收益或价值已经在D∗SD*SD∗S的矩阵中给出。要求在最后一天结束后得到的钱最多。
题解:
其实我们可以发现:对于每一天只要最大化你的收益就可以达成目的。然后问题就转换为求每一天的股票交易情况了。又知道每个股票可以无限量的购买(当然价值和不多于手中的钱),显然,就是一个完全背包。
其实题目中的获利不超过500000500000500000已经暗中提示了DP等算法的使用,因为给出一个不是由intintint到longlonglong longlonglong 的数据范围的改变一定是为数组内存准备的。
⾸先每天结束之后剩下的钱尽量多肯定是最优的。
因为连续持有股票相当于每天买完以后,第⼆天
卖掉然后再买。所以就可以每天做⼀次完全背包。
时间复杂度O(700000∗D∗S)O(700000*D*S)O(700000∗D∗S)。
接下来就不再赘述了,其他部分会在代码中注明,看代码:
代码:
#include<cstdio>
#include<cmath>
#include<cstring>
using namespace std;
int a[61][21],f[500005];
int main()
{
int s,d,m;
scanf("%d%d%d",&s,&d,&m);
for(int i=1;i<=s;i++)
{
for(int j=1;j<=d;j++)
{
scanf("%d",&a[i][j]);
}
}//以上不需要解释
for(int k=2;k<=d;k++)
{
memset(f,0,sizeof(f));
int maxx=0;
for(int i=1;i<=s;i++)
{
for(int j=a[i][k-1];j<=m;j++)//每次循环到前一天当前位置的股票交易价格。
{
f[j]=fmax(f[j],f[j-a[i][k-1]]+a[i][k]-a[i][k-1]);//第一种情况是不买,第二种就是买:要价格减去买入所花的钱再加上今天和昨天的价格差,因为如果不卖出相当于卖出再买入
maxx=fmax(f[j],maxx);//取出一天股票的最大值
}
}
m+=maxx;//累加收益
}
printf("%d",m);
return 0;
}
[USACO09FEB]股票市场Stock Market的更多相关文章
- Luogu2938 [USACO09FEB]股票市场Stock Market (DP,多重背包)
第n天不卖,视为卖了又原价买回 #include <iostream> #include <cstdio> #include <cstring> #include ...
- USACO 2009 Feb 股票市场 Stock Market
USACO 2009 Feb 股票市场 Stock Market Description 尽管奶牛们天生谨慎,她们仍然在住房抵押信贷市场中大受打击,现在她们准备在股市 上碰碰运气.贝西开挂了,她知道S ...
- USACO Stock Market
洛谷 P2938 [USACO09FEB]股票市场Stock Market 洛谷传送门 JDOJ 2625: USACO 2009 Feb Gold 2.Stock Market JDOJ传送门 题目 ...
- BZOJ 1578: [Usaco2009 Feb]Stock Market 股票市场( 背包dp )
我们假设每天买完第二天就卖掉( 不卖出也可以看作是卖出后再买入 ), 这样就是变成了一个完全背包问题了, 股票价格为体积, 第二天的股票价格 - 今天股票价格为价值.... 然后就一天一天dp... ...
- 1578: [Usaco2009 Feb]Stock Market 股票市场
1578: [Usaco2009 Feb]Stock Market 股票市场 Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 414 Solved: 1 ...
- [bzoj1578][Usaco2009 Feb]Stock Market 股票市场_完全背包dp
Stock Market 股票市场 bzoj-1578 Usaco-2009 Feb 题目大意:给定一个$S\times D$的大矩阵$T$,其中$T[i][j]$表示第i支股票第j天的价格.给定初始 ...
- An Introduction to Stock Market Data Analysis with R (Part 1)
Around September of 2016 I wrote two articles on using Python for accessing, visualizing, and evalua ...
- (转) Using the latest advancements in AI to predict stock market movements
Using the latest advancements in AI to predict stock market movements 2019-01-13 21:31:18 This blog ...
- word Stock Market Indices
Stock Market Indices USA Africa Asia and Pacific Canada Europe Middle East South America Internation ...
随机推荐
- UWP项目生成安装包远程安装在树莓派上
原文: UWP项目生成安装包远程安装在树莓派上 哎,好纠结啊!如果这个名字写的太长,会显得太繁琐,如果写的短又好像说不清楚,我这语言表达水平实在是令人担忧啊!不过应该能够明白啥意思吧!因为对这个感兴趣 ...
- WPF使用AForge实现Webcam预览(二)
本文主要介绍如何让摄像头预览界面的宽高比始终在16:9. 首先我们需要修改一下上一篇随笔实现的UI界面,让Grid变成一个3*3的九宫格,预览界面位于正中间.Xaml示例代码如下: <Windo ...
- 转换GMT秒数为日期时间格式-Delphi源码
转换GMT秒数为日期时间格式-Delphi源码.收藏最近在写PE分析工具的时候,需要转换TimeDateStamp字段值为日期时间格式,这是Delphi的源码. //把GMT时间的秒数转换成日期时间格 ...
- Z Order of Controls in Delphi VCL
Get and set the Z Order of controls at runtime in Delphi VCL. If you are looking for a FireMonkey so ...
- DOM模型-属性操作
HTML 元素包括标签名和若干个键值对,这个键值对就称为"属性"(attribute)."属性"本身是一个对象(Attr对象),但是实际上,这个对象极少使用.一 ...
- mvc中Scripts.Render的用法
第一次接触新的东西,都会很陌生,但是时间久了就熟悉了变简单了. 视图文件中使用Scripts.Render()输出脚本包,Styles.Render()输出样式包 上面两张图是我所做项目里的,放上面会 ...
- 曹工说Tomcat2:自己撸一个简易Tomcat Digester
一.前言 框架代码其实也没那么难,大家不要看着源码就害怕,现在去看 Tomcat 3.0的代码,保证还是看得懂一半,照着撸一遍基本上很多问题都能搞定了.这次我们就模拟 Tomcat 中的 Digest ...
- Python自学day-14
一.默认创建的HTML5文件 <!DOCTYPE html> <html lang="en"> <head> <meta charset= ...
- node实现文件拷贝1
nodeJS对文件的复制: 一般对于小型文件的复制操作使用的是流的管道运输操作, 首先需要加载引入的文件:var fs = require('fs'); 1.同步创建文件夹 fs.mkdirSync( ...
- 24 | 紧跟时代步伐:微服务模式下API测试要怎么做?