浅谈栈: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. 如何轻松阅读 GitHub 上的项目源码?
  2. Web安全学习week6
  3. 第十一届 蓝桥杯 单片机设计与开发项目 省赛 程序设计试题及源码
  4. $PATH环境变量的作用
  5. 大数据_Flink_数据处理_案例WorldCount_批处理版---Flink工作笔记0008
  6. python:from skimage.measure import find_contours
  7. linux配置yum源、mount及yum命令
  8. MCS-51子程序库-1
  9. ZenTaoPMS.11.6.5.zbox_64.tar
  10. 感应加热计算机仿真软件,一种新型感应加热电源调功方式的研究与计算机仿真...
  11. 让ImageView尺寸适应图片比例和屏幕
  12. 解决MySQL CPU占用100%的经验总结 转
  13. 日本要把123万吨核污水排入太平洋,核威胁距离我们有多远?
  14. 常用的sql语句,sql使用大全
  15. MySQL索引(什么是索引、如何创建索引、什么时候用索引、索引的作用)
  16. php应该安装在c盘,vscode要装在c盘吗
  17. c语言程序0xc0000005解决方案,C语言调试时出现”Unhandled exception 0xC0000005;Access Violation“,是怎么回事呢?...
  18. NodeMCU-ESP8266使用TFT_eSPI库驱动IC为ST7735的1.44寸TFT屏幕(TFT_eSPI详解)
  19. pycharm中安装ctypes模块
  20. c语言project3: 复杂动态字体显示欲穷千里目更上一层楼,健身励志名言短句霸气?八字励志名言短句大全...

热门文章

  1. linux内存显示少,linux 显示的内存怎么少于我实际的物理内存
  2. 洛谷——P2342 叠积木
  3. 80004005 mysql_数据库报错80004005
  4. HDU-3987 Harry Potter and the Forbidden Forest(最大流)
  5. python安装插件很慢_Sublime text3+python3配置及插件安装
  6. GPU设备架构全面解析(持续更新ing)
  7. html 判断undefined,JS中 “is not defined” 如何判断defined,defined和undefined 的区别
  8. 使用电脑热点和Fiddler对Android app进行抓包
  9. 牛魔王珍满福拉面 - 北京团购网|京东团购
  10. 滑膜间充质干细胞复合壳聚糖水凝胶/角蛋白壳聚糖水凝胶复合材料/壳聚糖/海藻酸纳复合水凝胶的制备