股票交易
这里尝试利用单调队列优化,这里不好直接用单调队列的原因是因为(以买为例)
所以解决方案一:我们将下标变成一个整体,再把后面的代价换掉然后将与下标无关的直接提出去
解决方案二:利用“蚯蚓”那一道题目的思路进行单调队列的维护
提一嘴,这里在某一天买卖股票是因为每股股票会产生利润吧,既然会产生为啥不直接买卖到最大限度呢?这里又没有边际收益递减啥的。。不清楚
类似的:围栏。只不过这道题目不用换元而是直接提取而已
update 2024.7.5
还是看这篇题解吧,注意的就是不要直接认为进行交易的话一定会进行到上限吧(虽然我也不知道为什么进行不到);然后注意单调队列优化的时候,是先将所有维度当成定值看上下界是否同时单调变化,所以我们要像题解这个样子拆开,然后就可以看出是否可以单调队列优化了
update 2024.9.8
比较两种题解的做法,会发现其实本质是一样的,只不过第二种题解是直接将第一种题解的
所以无论写成哪种形式,本质上还是要看,对于当前状态
一定要牢记,转移区间长度固定考虑单调队列优化;实际上这是单调队列优化最明显的标志,当然不会局限于这个条件,就像蓝书说的,只要上下界同时单调变化就可以考虑单调队列优化
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构