浅谈栈:https://www.cnblogs.com/AKMer/p/10278222.html

题目传送门:http://acm.hdu.edu.cn/showproblem.php?pid=4699

用对顶栈模拟即可。\(stk1\)表示光标之前的数列,\(stk2\)表示光标之后的数列。然后维护一下前缀和以及前缀和的最大值即可。

对于插入,直接往\(stk1\)里扔这个数字然后更新\(sum\)和\(mx\)。

对于删除,直接弹栈\(stk1\)。

对于左移,弹栈\(stk1\)并把弹出来的元素压进\(stk2\)。

对于右移,弹栈\(stk2\)并把弹出来的元素压进\(stk1\)。

对于查询,输出\(mx_k\)即可。

时间复杂度:\(O(n)\)

空间复杂度:\(O(n)\)

代码如下:

#include <cstdio>
#include <algorithm>
using namespace std;const int maxn=1e6+5;char opt[5];
int n,top1,top2;
int stk1[maxn],stk2[maxn],mx[maxn],sum[maxn];int read() {int x=0,f=1;char ch=getchar();for(;ch<'0'||ch>'9';ch=getchar())if(ch=='-')f=-1;for(;ch>='0'&&ch<='9';ch=getchar())x=x*10+ch-'0';return x*f;
}void insert(int x) {stk1[++top1]=x;sum[top1]=sum[top1-1]+x;mx[top1]=max(mx[top1-1],sum[top1]);
}int main() {mx[0]=-2e9;while(~scanf("%d",&n)) {top1=top2=0;for(int i=1;i<=n;i++) {scanf("%s",opt+1);if(opt[1]=='I') {int x=read();insert(x);}if(opt[1]=='D'&&top1)top1--;if(opt[1]=='L'&&top1)stk2[++top2]=stk1[top1],top1--;if(opt[1]=='R'&&top2)insert(stk2[top2]),top2--;if(opt[1]=='Q') {int k=read();printf("%d\n",mx[k]);}}}return 0;
}

转载于:https://www.cnblogs.com/AKMer/p/10282408.html

HDU4699:Editor相关推荐

  1. 使用editor编辑器遇到的小问题:editor.md工具栏置顶

    问题原因: 在使用Markdown编辑器editor.md时,由于editor.md的toolbar始终保持在页面顶部,导致我在使用vue整合时,页面排版出现错乱 解决方案: 在 editormd.j ...

  2. 小程序的四次元口袋:editor富文本编辑器的使用、渲染,以及rich-text进行解析

    editor富文本 1.介绍 富文本编辑器,可以对图片.文字进行编辑.极大地丰富了我们文章的结构样式,之前小程序还没有自己开发富文本插件,而在2019年微信小程序正式发布了富文本api. 支持的类型 ...

  3. FCK:editor解析

    刚刚开始学习JavaWeb的时候容易被一些陌生的技术术语所迷惑,在开始的时候谁多是一样的!我今天修改程序的时候突然看见这样一行代码: <FCK:editor>中间是一系列的参数</F ...

  4. Unity Editor 基础篇(四):Handles

    本文参自: 克森http://mp.weixin.qq.com/s/qxsKDPjJS30S9OXeQ8WKTw 本文为本人学习上链接的笔记微有改动,请点击以上链接查看原文,尊重楼主知识产权. Uni ...

  5. 艾伟:FCKeditor 配置、扩展

    一.自定义 FCKeditor 的 BasePath BasePath 即FCKeditor在网站中的相对路径,默认值是 /fckeditor/,最好在Web.config appSettings中对 ...

  6. 社区v2022.3版上线:发帖、看直播、评论体验升级,并支持机构号申请

    智源社区又一新版本和大家见面了,本期上线了哪些功能,一起来看看吧~ 01 社区编辑器界面优化,功能导航更清晰 编辑器有很多强大功能隐藏在菜单中,这个月我们结合成员的使用习惯,把最常用的功能置顶显示,让 ...

  7. python实现树有多少种方法_教程 | 从头开始:用Python实现决策树算法

    如何计算并评价数据集中地候选分割点(Candidate Split Point) 如何在决策树结构中排分配这些分割点 如何在实际问题中应用这些分类和回归算法 一.概要 本节简要介绍了关于分类及回归树( ...

  8. a onclick 未响应_深大李冰石教授、港科大唐本忠院士:在多重刺激响应性材料领域取得最新进展...

    刺激响应荧光分子是一类重要的可用于光学传感器制备的功能材料.目前已经报道的刺激响应荧光分子普遍具有单一响应的特点,难以满足多元化的应用需求,而多重刺激响应荧光分子的设计具有很大挑战.最近,深圳大学李冰 ...

  9. Markdown编辑器editor.md的使用

    目录(?)[-] 一Markdown和editormd简介 二editormd的使用 1下载 2简单使用 21在自己的页面上引入相关的css和js代码如下 22在自己的页面中加上DIV 23在同页面中 ...

  10. 每天一个linux命令(50):crontab命令

    前一天学习了 at 命令是针对仅运行一次的任务,循环运行的例行性计划任务,linux系统则是由 cron (crond) 这个系统服务来控制的.Linux 系统上面原本就有非常多的计划性工作,因此这个 ...

最新文章

  1. orcal 忘记用户名和密码
  2. 增加和删除用户组与用户
  3. Leetcode记录
  4. word存为html图片有两个,如何批量保存Word图片?另存为Word多个图片的方法
  5. 完全卸载ORACLE9i
  6. SQL字符串处理函数大全
  7. GNS3 VoIP Lab (Cisco 3725 and CME 4.3)
  8. Q+开放的互联网:腾讯QQ “亮剑” 开放平台
  9. 解析浏览器访问服务器 Servlet 应用程序的交互过程(Servlet 容器如何处理请求资源路径)
  10. python列表的表示形式_python 列表推导式
  11. RANet:MSDNet加强版!清华黄高团队提出分辨率自适应的高效推理网络RANet!
  12. 【报告分享】中国营销数字化行业趋势报告:全渠道时代,品牌商如何抓住消费者?(附下载链接)...
  13. win7 mysql 启动 问题
  14. 直流电机正反转驱动电路板
  15. 见贤思齐与三人行必有我师
  16. CORTEX-A系列处理器
  17. 格斗类游戏的键盘处理
  18. Ubuntu顶栏显示网速和硬件信息
  19. 运行计算机配置gpedit,组策略(gpeditmsc)学习
  20. 企业选型OA系统 ,如何选择合适的?

热门文章

  1. 量化交易11-backtrader回测两只乌鸦、三只乌鸦K线形态图
  2. 中国网络游戏上市突击大事记
  3. 项目经理一定要知道的PMP项目管理八大会议流程-(PMBOK高频考点)
  4. vscode文件名颜色含义与右侧字母含义
  5. hl7 java_HL7 2.X解析(JAVA版)
  6. python 批处理合并表格_高效办公4——Python批量合并Excel指定列相同内容单元格...
  7. 计算机32还是64位操作系统,电脑系统32位好还是64位好 哪个快?
  8. SpringBoot 2.X Redis Jackson 序列化配置
  9. 学习MyBatis-Plus
  10. 网易mumu模拟器的使用