交大oj-1009-二哥炒股票 C++ 总结

交大oj-1022-Fib数列 C++ 解题报告 交大oj-1022-Fib数列 C++ 总结1,题目描述https://acm.sjtu.edu.cn/OnlineJudge/problem/10222,解题思路斐波那契数列求第N项的题一般有三种思路:1,递归:Fib数列是递归的经典例子,但应用在解题中是费时占内存的选择,对于本题没什么帮助。 2,循环:这也是一种经典思路,但经过分析,也很容易发现不适用于本题。本题中N的最大值是210,000 阅读详情

二哥炒股票

这道题没有设置什么陷阱,题意清楚,不再赘述
直接上代码

#include <iostream>
#include <vector>
#include <iomanip>
using namespace std;

struct Trade {
    int time;
    int stock;
    int mode;
    Trade(int time, int stock, int mode) :time(time), stock(stock), mode(mode) {};
};

struct StockPrice {
    int time;
    int price;
    StockPrice(int time, int price) :time(time), price(price) {};
};

vector<Trade> trade;
vector<StockPrice> price;
int tradeNum, priceNum;

int getPrice(int time)
{
    static int index = 0;
    for (; index < priceNum; index++) {
        if (price[index].time > time)
            break;
    }
    return price[index - 1].price;
}

int main()
{
    int i, t, a, d;
    cin >> tradeNum;
    for (i = 0; i < tradeNum; i++) {
        cin >> t >> a >> d;
        trade.push_back(Trade(t, a, d));
    }
    cin >> priceNum;
    for (i = 0; i < priceNum; i++) {
        cin >> t >> a;
        price.push_back(StockPrice(t, a));
    }
    //cin has ended
    double profit = 0;
    int trademoney;
    for (i = 0; i < tradeNum; i++) {
        trademoney = getPrice(trade[i].time) * trade[i].stock;
        if (trade[i].mode == 1) {   // buy
            profit -= (0.2 * trademoney > 5) ? (0.2 * trademoney) : 5;
            profit = profit - 0.1 * trade[i].stock - 1 - trademoney * 100;
        }
        else {  //sell
            profit -= (0.2 * trademoney > 5) ? (0.2 * trademoney) : 5;
            profit = profit - 0.1 * trade[i].stock - 1 + trademoney * 99.9;
        }
    }
    cout << fixed << setprecision(2) << profit << endl;

    return 0;
}

// 其实这道题还有非常容易的优化策略,遍历所有的交易记录,得到总交易额和总的交易股票数,加在一起再进行处理,可以减小操作量
// 这道题重要地方是数据的储存,使用struct再合适不过了

总结~

这道题重点是如何储存交易记录和股票价格变化记录,我最刚开始使用pair<int,int>,明显没有struct方便易用。
这个解法并不是很好,评测状态中有10ms以下的代码,猜想是遍历交易记录后再一起处理收益的问题,减少交易量。
不太想改了,但已经有了改进的思路,go on for next problem~

c++实现的股市软件 程序精炼,有序,值得钻研.这是上课时,大家在老师的指导下编写的,希望对大家有用。谢谢大家的支持 立即下载

相关推荐

双参数威布尔分布(Weibull分布)参数计算(根据故障数据,求双参数威布尔分布的参数详细步骤)

根据故障数据求威布尔分布参数步骤 根据众多文献研究,设备故障数据大多服从指数分布、威布尔分布或对数正态分布。其中威布尔分布较为常用,本文主要介绍威布尔分布的简单应用,并根据某设备故障数据为例简单介绍威布尔分布参数的计算方法。 参考文献11参考文献22 1.双参数威布尔分布的概率密度函数、概率分布函数、可靠度函数: 2.预处理故障数据 将故障数据按时间排序,假设设备分别在以下时间点失效:11.1 、23.5、58.4……则将此时间从小到大排序。并计算中位秩。中位秩的计算公式如下: 其中i表示第几个数据,n

biaochengxiaobai的博客 4万+

C++:你炒过股吗?来模拟炒股吧!看看模拟炒股的有趣代码!

在家没事打的,不喜勿喷。

SYC20110120的博客 510

实测338MB/s!FPGA与CYUSB3014的Slave FIFO模式实战避坑(附完整固件与源码)

本文详细介绍了FPGA与CYUSB3014在Slave FIFO模式下实现338MB/s高速数据传输的实战经验。通过优化硬件设计、固件配置和GPIF II接口设置,解决了USB3.0双向通信中的关键性能瓶颈,并提供了完整的固件与源码参考。

weixin_30570101的博客 458

上海交通大学OJ部分习题答案

有兴趣的同学可以访问点击打开链接进行查阅,答案大部分都是尽可能用比较简洁的算法。我大一上学期花了很多时间,还有很多代码是实现教材或者某些精妙算法,但是这里就只上传OJ啦...

sjtuzwj的博客 7217

ADS2019学习笔记:三、SPICE model导入

以BZX84-C33 SPICE model为例,学习如何在ADS2019中导入SPICE model。

qq_42945911的博客 6495

linux 内核OOM问题定位-SLAB_DEBUG

首先看slabinfo按的size排序查看 slub object,可以查看 space 总占用大小,及objects个数判断泄漏点 为kmalloc-128。那个泄露多看/sys/kernel/debug的slab/kmalloc*-的alloc-traces和free-traces。SLAB或者SLUB有一个用就可以,改menuconfig没有clean会覆盖之前的更改,现在看一下编译的过程。或者配置defconfig,配置完之后需要clean后再编译。1,配置menuconfig。

陌上花开缓缓归以的博客 900

AcWing 1054. 股票买卖

题目 给定一个长度为 NNN的数组,数组中的第 iii个数字表示一个给定股票在第 iii 天的价格。 如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。 注意你不能在买入股票前卖出股票。 输入格式 第一行包含整数 N,表示数组长度。 第二行包含 N 个不大于 10910^9109 的正整数,表示完整的数组。 输出格式 输出一个整数,表示最大利润。 数据范围 1≤N≤1051≤N≤10^51≤N≤105, 输入样例1: 6 7 1 5 3 6 4 输出样例1: 5

Running Snail 248

COMSOL介电弹性体数值仿真指南:预拉伸圆形DEA的稳态变形分析(I)

本期博客是《COMSOL介电弹性体数值仿真指南》系列博客中的一期。聚焦于介电弹性体驱动器(DEA)中最为经典的预拉伸圆形DEA驱动器构型,对其物理特性及数值仿真总体方案进行介绍与讨论。

忘了面孔的Batou 454

sjtu-acm-1033

想了想,似乎有必要把自己刷OJ的历程记录下来。 不光光是为了总结报告和以后积累经验。 http://acm.sjtu.edu.cn/OnlineJudge/ 上海交大的OJ网址。 -----------------------------------------------------------------------------我是华丽的分割线-------------------

sjtutyx的博客 1165

《QGIS快速入门与应用基础》009:国内镜像源(清华大学/阿里云)下载技巧

针对国内用户下载QGIS速度慢、易中断的问题,推荐使用清华大学和阿里云两大国内镜像源,提供3-10MB/s的极速下载方案。详细解析镜像源核心优势、分步骤下载指南及校验方法,对比清华(同步快、北方优选)与阿里云(南方节点多)的特点。针对常见问题如版本延迟、404错误等提供解决方案,并介绍搭配IDM等工具实现多线程加速的进阶技巧。通过镜像源+下载工具组合,用户可高效获取QGIS安装包,为后续系统安装奠定基础。

LuckyHanMo的博客 1746

基于Python的链家与贝壳租房数据爬取及城市性价比分析

本文通过Python爬虫技术,实现对链家和贝壳平台全国主要城市租房数据的采集与分析。研究使用requestsSelenium和Playwright等现代化爬虫工具,结合代理IP和验证码识别技术应对反爬机制。采集的数据经过清洗后,从多维度分析不同城市租房市场的价格分布、面积特征和性价比差异,并使用可视化技术展示分析结果。本研究为租房者提供决策参考,也为租房市场研究提供数据支撑。关键词:Python爬虫;租房数据;数据分析;链家;贝壳。

2201_76125261的博客 530

股票游戏c++

c++股票游戏

yuhhggyvy的博客 651

vue2 - 最新详细实现高德地图绘制动态热力图详细教程,在某区域或城市地图上做“热力图层“展示人流量、旅游人口密度、热量图、全国地区地理热力图,利用颜色的深浅表示密度或强度等场景(详细示例代码教程)

vue2,nuxt2,高德地图,热力图,绘制热力图层,报错,卡顿,出不来怎么办,无法关闭,怎么解决这个问题,出错,城市名称,城市某个街道,城区,省份,市区,县城,乡镇,村,各省份的热力图,交通流量,人口流量,密度,旅游出行,人口数量,颜色介绍,深浅代表,人流量,vue2使用高德地图实现某个区域热力图,vue高德地图api加载热力图及关闭,接收热力图数据并渲染热力图,关掉热力图,Vue使用高德API制作热力图,热力图加载不出来,电子围栏围住热力图,vue2中使用高德地图渲染热力图组件,高德地图使用热力图详细教

✅ 精选推荐文章 4201

C++类的实例:Stock(股票)类。

  从C过渡到C++,类是一个新的概念。 类是由数据表示和操纵数据的方法组合成的一个包。 本文使用一个例子(Stock)来加深对类的理解。   使用C++类来表示一个物体,首先要考虑类需要包含的内容。 对于股票来说,需要包含的内容很多。 先考虑可以对股票进行的操作:获得股票;买入;卖出;更新股票价格;显示股票信息。 然后考虑股票需要存储的信息:公司名称;股票数量;每股价格;股票总值...

一只大鸽子的博客 1万+

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

信息学奥赛一本通 1302:股票买卖 | OpenJudge NOI 2.6 8464:股票买卖

ybt 1302:股票买卖 OpenJudge NOI 2.6 8464:股票买卖该题可以抽象为:在一个长为n的数字序列上,第i个数字为。找满足1≤i1≤j1≤i2≤j2≤n1\le i1 \le j1 \le i2 \le j2 \le n1≤i1≤j1≤i2≤j2≤n的两个数对(i1, j1), (i2, j2),使得最大。 还可以简单描述为:定义区间差值为区间两端点数值的差,求一个数字序列上两个不相交的区间差值加和的最大值。(区间长度大于等于1) 该题可以用与1305:Maximum sum类似的思路

君义NOIP的博客 2724

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

【贪心算法】C++ 解决算法题:买卖股票 / K次取反 / 按身高排序 / 优势洗牌

贪心算法在每一步选择中都采取当前状态下最优决策的算法。贪心算法通常用来解决最优化问题,其在贪心算法中,我们并不总是考虑到未来可能发生的情况,而是只关注当前的最优选择。这种贪心选择性质使得贪心算法特别适合解决那些具有最优子结构性质的问题,即局部最优解能够推导出全局最优解的问题。需要注意的是,贪心算法并不适用于所有的问题,因为并非所有问题都具有最优子结构性质。在某些情况下,贪心算法得到的结果可能并不是全局最优解,而只是一个较好的解。因此,在应用贪心算法时,需要仔细分析问题的特性,以确定贪心算法是否适用于该问题。

卜及中的博客 1608

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

c++编写更高效的股票系统

看盘的主界面上分了4大块区域(个人习惯),一个显示所有股票的实时数据,一个只显示涨速,一个自选股,最右边显示个股的详细信息,包括分时图,买卖一到五及其分笔成交细节。A股,美股,港股全部都使用同样的数据结构,这样可以很方便界面的切换。有强迫症的我觉得必须qt重写,整体界面基本和python一样的,那效率真是不可同日而语。重载鼠标的单击和双击,单击显示个股详细信息,双击显示个股的k线图。前面用python写的,总觉效率不高,虽然运行也还是能行。F10资料,主要指标,经营分析,3大报表,板块资金流。

cjh4312的博客 7369

C++刷题笔记(40)——股票问题、leetcode121、122、123、188、309、714

股票问题 题目1:121.买卖股票的最佳时机 题目2:122.买卖股票的最佳时机Ⅱ 题目3:123.买卖股票的最佳时机Ⅲ 题目4:188.买卖股票的最佳时机Ⅳ 题目5:309.买卖股票的最佳时机含冷冻期 题目6:701.买卖股票的最佳时机含手续费...

STATEABC的博客 881

C++ 炒股笔记4.0 实现基于均线的自动买卖提示功能

目前基于均线实现了买入卖出机会的自动发现。 按照机会提示操作,目前只有长生生物会买入没有卖出机会,其余都是在赚钱。

C++ 爱好者 make_it_simple888 1268

C++每日一练(5):炒股

小森通过某种方式预知了接下来n天股票的价格,分别为a1,a2,...,an。但是小森太忙了,只会买入和卖出一次(一定要先买入才能卖出)。请问小森最大能获利多少?小森当然也可以什么都不做,获利0元。第一行一个整数n(2≤n≤1000)接下来一行n个整数表示股票的价格。一个整数数,表示答案。

yyj17705217006的博客 841

用C++ 写一个股票技术分析代码

我可以为你写一段用C语言编写的股票技术分析代码:#include<stdio.h>int main(){ int stock_prices[10]; //定义一个长度为10的整形数组,用来存放股票价格 int i, j; int max_diff = 0; //定义一个变量,用来存放最大差值 for(i=0; i<10; i++){ //从头开始遍...

weixin_42588555的博客 733

C++ 买卖股票问题

动态规划,冷冻期,手续费,购买次数,初始化,不是从0开始,需要自己有一定的理解

m0_74922218的博客 1682

(新版)SJTU-OJ-1058. 小恶魔的单循环链表

题目描述 助教是个小恶魔,她不知道要出什么机考题,然后她发现大家已经学完了指针和结构体,欣喜若狂。她想让你写一个单循环链表,即最后一个结点的下一个结点是头结点的单链表。你需要实现以下六种操作,分别标号为操作0~5:(注意这里的 iii都为0-base) 0 返回链表长度; 1 在位置 iii 插入一个数。注意这里是指插入的数在插入后处于位置ii,即插入在现在位置ii数字的前面; 2 输出位置 iii 的数。如果 iii 超出链表长度,请输出-1; 3 删除位置 iii 的数,整个链表长度减1; 4 删除位

Musicminion的博客 1431

LeetCode 121. 买卖股票的最佳时机

给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。 返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 。 示例 1: 输入:[7,1,5,3,6,4] 输出:5 解释:在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。 注意利润不能是 7-1

tomjobs的博客 1764

算法之路之征服上海交大的oj-1040. 二叉树层次遍历

/* 二叉树层次遍历 Description 给出一棵二叉树,求它的层次遍历结果。 [二叉树的遍历问题是一种精神,务必领会] Input Format 第一行,N&lt;1000000,表示二叉树节点数。 默认序号为0的节点为树根。接下来共N-1行, 依次表示序号为1,…,N-1的节点的父亲节点序号。 如果一个节点有两个孩子节点,左孩子节点序号总是小于右孩子节点序号。 Ou...

Patrick的博客 553
上一篇: 交大oj-1008-二哥买期货 C++ 总结
下一篇: C++ error 2872:不明确的符号
code_nie
博客等级 码龄9年 6粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值