zoukankan      html  css  js  c++  java
  • 【USACO】股票市场

    题目描述

    尽管奶牛天生谨慎,它们仍然在住房抵押信贷市场中大受打击,现在它们准备在股市上碰碰运
    气。贝西有内部消息,她知道 S 只股票在今后 D 天内的价格。
    假设在一开始,她筹集了 M 元钱,那么她该怎样操作才能赚到最多的钱呢?贝西在每天可以买
    卖多只股票,也可以多次买卖同一只股票,交易单位必须是整数,数量不限。举一个牛市的例子。假
    设贝西有 10 元本金,股票价格如下:
    股票 今天的价格 明天的价格 后天的价格
    A 10 15 15
    B 13  11 20
     
      
    最赚钱的做法是:今天买入 A 股 1 张,到明天把它卖掉并且买入 B 股 1 张,在后天卖掉 B 股,这样
    贝西就有 24 元了。

    输入

    • 第一行:三个整数 S,D 和 M,2 ≤ S ≤ 50,2 ≤ D ≤ 10,1 ≤ M ≤ 200000
    • 第二行到第 S + 1 行:第 i + 1 行有 D 个整数:P i,1 到 P i,D ,表示第 i 种股票在第一天到最后
    一天的售价,对所有 1 ≤ j ≤ D,1 ≤ P i,j ≤ 1000

    输出

    • 单个整数:表示奶牛可以获得的最大钱数,保证这个数不会超过 500000

    样例输入

    2 3 10 10 15 15 13 11 20

    样例输出

    24
     
    题解:
    股票问题:第i天买第j天卖 相当于 第i天买 第k天卖第k天再买回来 第j天卖
    于是我们只处理i和i+1天
    看到题发现dp能开的只有钱数这个数组
    于是我们想到背包
    把第i天的买入费用当作体积,利润(下一天卖出的前-当天买入的前)看作价值 S看作背包体积进行背包
    然后选出最大的利润加到S里面去 表示到当天位置最大的利润 无后效性
     1 #include<iostream>
     2 #include<cstdio>
     3 #include<cstring>
     4 #include<algorithm>
     5 using namespace std;
     6 const int N=500005;
     7 int gi(){
     8     int str=0;char ch=getchar();
     9     while(ch>'9' || ch<'0')ch=getchar();
    10     while(ch>='0' && ch<='9')str=str*10+ch-48,ch=getchar();
    11     return str;
    12 }
    13 int w[55][15],f[N];
    14 int main()
    15 {
    16     int n=gi(),m=gi(),S=gi(),tmp;
    17     for(int i=1;i<=n;i++)for(int j=1;j<=m;j++)w[i][j]=gi();
    18     for(int i=1;i<m;i++)
    19     {
    20         memset(f,0,sizeof(f));
    21         for(int j=1;j<=n;j++)
    22         {
    23             for(int k=w[j][i];k<=S;k++)
    24             {
    25                 tmp=f[k-w[j][i]]+w[j][i+1]-w[j][i];
    26                 if(tmp>f[k])f[k]=tmp;
    27             }
    28         }
    29         S+=f[S];
    30     }
    31     printf("%d",S);
    32     return 0;
    33 }
  • 相关阅读:
    PAT A1108 Finding Average [字符串处理]
    PAT A1013 Battle Over Cities [图的遍历]
    关于斐波那契数列的算法
    关于浏览器的事件队列
    类型与进制转换
    【待整理】python 关键字
    闭包和函数的自运行
    cookie-cart购物车
    有意思的效果——左右摇摆
    工厂模式
  • 原文地址:https://www.cnblogs.com/Yuzao/p/6985472.html
Copyright © 2011-2022 走看看