股票买卖Ⅴ

题目描述

给定一个长度为 N N N 的数组,数组中的第 i i i 个数字表示一个给定股票在第 i i i 天的价格。

设计一个算法计算出最大利润。在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票):

  • 你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。
  • 卖出股票后,你无法在第二天买入股票 (即冷冻期为 1 天)。

输入格式
第一行包含整数 N N N,表示数组长度。

第二行包含 N N N 个不超过 10000 10000 10000 的正整数,表示完整的数组。

输出格式
输出一个整数,表示最大利润。

数据范围
1 ≤ N ≤ 1 0 5 1≤N≤10^5 1N105

输入样例:

5
1 2 3 0 2

输出样例:

3

样例解释
对应的交易状态为: [买入, 卖出, 冷冻期, 买入, 卖出],第一笔交易可得利润 2-1 = 1,第二笔交易可得利润 2-0 = 2,共得利润 1+2 = 3。


相比于前面的股票买卖,多了一个 “冷却期” 的概念,而把它意思转换一下就是 “手中无股的第1天” ,所以需要再列出一个状态来与表示“手中无股的第2≥天”的状态区分开,因此状态机模型如下:

请添加图片描述

这里入口选择“手中无股第≥2天”的原因是在该状态下,既没开始买股票(笔数=0),又由于没处在冷却期,所以此时也可以开始进行买股票。

状态表示: f ( i , 0 / 1 / 2 ) f(i,0/1/2) f(i,0/1/2):在第 i i i 天时股票处于[0:手中未持股的第1天、1:手中持股、2:手中未持股的第≥2天]状态下的最大利润。
具体状态转移方程见Code。

C++代码

#include <iostream>
#include <cstring>
using namespace std;const int N = 1e5 + 10;int p[N];
int f[N][3];            //0:手中未持股的第1天、1:手中持股、2:手中未持股的第≥2天.
int n;int main(){cin >> n;for(int i = 1;i <= n;i ++)      cin >> p[i];//入口是手中未持股≥2天memset(f, -0x3f, sizeof f);         //遇到数据量较大一点的话-∞要设置成-0x3f3f3f3ff[0][2] = 0;for(int i = 1;i <= n;i ++){f[i][0] = f[i - 1][1] + p[i];f[i][1] = max(f[i - 1][1], f[i - 1][2] - p[i]);f[i][2] = max(f[i - 1][2], f[i - 1][0]);}cout << max(f[n][0], f[n][2]) << endl;return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/11387.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ChatGPT进化,人性消失,究竟是好是坏?

ChatGPT如今已经彻底火出圈&#xff0c;有人用它写论文&#xff0c;有人用它编谣言&#xff0c;却忘了其最基础的功能&#xff1a;聊天机器人。 如果其聊天能力足够智能到以假乱真&#xff0c;何必在意它究竟是不是真人呢&#xff1f; 2月20日&#xff0c;B站UP主三月与阿狗就…

朋友圈广告怎么投放?4步帮你搞定朋友圈广告投放

微信朋友圈的信息内容&#xff0c;可以直接影响顾客对于我们的点评&#xff0c;因此微信营销推广必需要循循善诱&#xff0c;切勿频烦刷屏&#xff0c;或发表某些毫无意义的广告宣传资询。 01发表信息内容 信息内容高质量&#xff0c;持续打造个人的专业形象&#xff0c;信息内…

玩传奇的伙计们,很久没发朋友圈了吧,今天给大家找到一些朋友圈高逼格文案。

熬过无人问津的日子&#xff0c;才有诗和远方&#xff01;【配图加班照】 饭要和投缘的人一起吃&#xff0c;日子要和懂你的一起过&#xff01;【配图背影照】 好听的话别当真&#xff0c;难听的话别较真【配上自拍侧颜照】 听说你喜欢海&#xff0c;所以我一直浪【配海边照…

荔枝文案,水果荔枝发朋友圈文案

水果文案大全&#xff0c;帮助线上朋友圈营销&#xff0c;让写文案不再痛苦&#xff0c;文案发圈更简单。已更新至百类水果&#xff0c;千条文案&#xff0c;基本涵盖市面上常卖水果的文案。 1、去哪里使用这些文案 打开手机上的朋友圈&#xff0c;下方有个搜一搜功能&#xf…

不经意看了一条朋友圈文案,我被大公司录取了!文案如下...

多线程编程的理论 ↓↓↓ 多线程编程的现实 ↓↓↓ (无声视频) 看到这&#xff0c;你什么心情?………此时此刻心情”好烦烦“&#xff01; 今天给小伙伴们出几道阿里必问的面试题&#xff0c;测测你能完美的回答几道呢&#xff1f; 有没有一种一定能保证线程安全的代码写法&am…

适合发朋友圈的高情商文案

meimei 1小时前来自iphone客户端 熬过无人问津的日子&#xff0c;才有诗和远方。 1小时前 大傻、二傻、三傻&#xff1a;好辛苦 熬过无人问津的日子&#xff0c;才有诗和远方。&#xff08;配加班中&#xff09; 饭要和投缘的人吃&#xff0c;日子要和懂你的人过。&#xff08;…

【pyq文案】可可爱爱、脑回路清奇の朋友圈文案

1.人每一个身体器官都是无价之宝&#xff0c;全部加起来1个月3000 2.别人出门&#xff1a;辣妹风、复古风、学院风&#xff1b;我出门&#xff1a;打工的勤劳小蜜蜂 3.看见自己就烦&#xff0c;50出&#xff1b;和今天星期四没关系 4.上学时拿钱混日子&#xff0c;上班后拿日…

桂圆文案:卖水果桂圆的文案朋友圈,水果桂圆宣传文案怎么写

水果精选文案大全&#xff0c;辅助水果店朋友圈运营&#xff0c;线上促单必备文案。水果文案持续进行更新&#xff0c;已更新到300多类的水果&#xff0c;更新数量为6000多条&#xff0c;你需要的文案这边基本都有。 1、怎么找到这些文案 如果想要这些文案&#xff0c;在朋友圈…

日记侠:朋友圈拉新,文案怎么写?

你好&#xff0c;我是王刚&#xff0c;行走于网络江湖的“日记侠”。每天分享我的思考和经验&#xff0c;希望身边的人可以和我一样天天写日记&#xff0c;今天是王刚日记第571天。 你见过朋友圈吸粉文案吗&#xff1f;你会写吗&#xff1f; 日记侠今天在朋友圈发了一条文案&am…

朋友圈人设文案价值百万,打造你的微信变现玩法

朋友圈人设文案价值百万&#xff0c;打造你的微信变现玩法 相信大多数人一旦有一点时间&#xff0c;就会不自觉的掏出手机来看&#xff0c;这已经成了习惯。现代人空闲的时候都会逛逛朋友圈&#xff0c;那么如何打造朋友圈才能为你赚钱变现&#xff0c;积累人脉,为你带来价值。…

换你来,你会如何设计微信朋友圈?

1、需求理解 朋友圈大家都熟悉不得了&#xff0c;不再赘述。 2、设计 这里要阐述一个最关键的设计点&#xff0c;那就是微信朋友圈具有明显的非实时性。不知道你有没有留意到&#xff0c;假如有两个人 A和B&#xff0c;其中A发了朋友圈&#xff0c;A是可以在朋友圈里马上看到…

网络推广文案八大步,让你的朋友圈引人注目!

1、产品独一无二的定位&#xff0c;而且是这个定位、这个细分市场的第一品牌&#xff0c;没有任何产品跟你一样,小编一直就认为一个真理&#xff0c;要做就做第一&#xff0c;做不到第一&#xff0c;就做细分市场第一&#xff1b;88064768 2、给客户一个无法拒绝的关注理由&am…

微信小程序朋友圈文案助手生成海报thinkphp6后台

这是一款发朋友圈的工具&#xff0c;说说搜索&#xff0c;海量数据库 还有话术板块&#xff0c;聊天话说&#xff0c;土味情话&#xff0c;搭讪技巧&#xff0c;幽默话术等等 句子选择背景图一键生成海报保持本地 简单做了点赞收藏功能&#xff0c;小程序授权登录&#xff0…

杨桃文案:卖杨桃水果怎样写文案发朋友圈,水果店杨桃活动文案

精选优质朋友圈文案&#xff0c;帮助水果店做线上运营&#xff0c;发圈必备的水果文案。水果文案已更新300多类的水果&#xff0c;千条文案和图片&#xff0c;复制轻松发朋友圈。 1、水果文案在哪里找到 打开手机上的朋友圈&#xff0c;下方有个搜一搜功能&#xff0c;搜鲁班文…

水果店朋友圈文案怎么写,水果店油桃朋友圈文案

这里是水果店早读课&#xff0c;水果店主同行交流圈子&#xff0c;持续分享&#xff0c;帮助新手入门。 开水果店要能抓抓客流&#xff0c;而朋友圈就是一个非常好抓住顾客的渠道&#xff0c;那么朋友圈怎么利用好呢&#xff0c;水果文案应该怎么去写呢。 1、发朋友圈是在拉近…

用ChatGPT生成一个Python贪吃蛇游戏(42)

小朋友们好&#xff0c;大朋友们好&#xff01; 我是猫妹&#xff0c;一名爱上Python编程的小学生。 和猫妹学Python&#xff0c;一起趣味学编程。 今日主题 什么是ChatGPT&#xff1f; ChatGPT可以帮我们做什么&#xff1f; 用ChatGPT生成一个Python贪吃蛇游戏。 什么是C…

用ChatGPT继续做卡牌游戏!

继上期用 ChatGPT 做了一个二次元游戏&#xff08;见阅读原文&#xff09;&#xff0c;介绍了用 AI 开发二次元卡牌游戏的基础工作流&#xff0c;这篇文章继续讲一讲更多 AI 开发游戏的干货&#xff0c;本期精彩内容如下。 使用 AI 工具制作风格一致的游戏 Icon 或 Logo, 并进行…

你相信吗?用ChatGPT写井字棋游戏仅需几分钟

井字棋 我们先实现一个最基本的使用控制台交互的井字棋游戏。 为了保持代码整洁&#xff0c;方便后续扩展&#xff0c;我们使用类Board来实现棋盘。除了常规的初始化方法__init__和字符串方法__str__&#xff0c;我们还要判断游戏的胜负、棋子位置的合理性。 在main中&…

chatgpt赋能python:Python小游戏教程:打造属于自己的游戏

Python小游戏教程&#xff1a;打造属于自己的游戏 Python小游戏是一个非常有趣的项目&#xff0c;不仅可以锻炼编程基本功&#xff0c;还可以开发出自己独特的小游戏&#xff0c;提高自己在编程领域的实践能力。下面&#xff0c;我会带领大家逐步学习如何用Python打造属于自己…

ChatGPT编写贪吃蛇小游戏

现在最近对ChatGPT使用越来越热&#xff0c;ChatGPT的出现引发“一次新的社会变革”&#xff0c;不仅仅是输出文本&#xff0c;问答&#xff0c;做PPT、DOC、XMind的脑图&#xff0c;连写代码也是毫不夸张&#xff0c;现在基于ChatGPT3.5模型&#xff0c;使用python语言完成一个…