HDU4699:Editor
浅谈栈: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相关推荐
- 使用editor编辑器遇到的小问题:editor.md工具栏置顶
问题原因: 在使用Markdown编辑器editor.md时,由于editor.md的toolbar始终保持在页面顶部,导致我在使用vue整合时,页面排版出现错乱 解决方案: 在 editormd.j ...
- 小程序的四次元口袋:editor富文本编辑器的使用、渲染,以及rich-text进行解析
editor富文本 1.介绍 富文本编辑器,可以对图片.文字进行编辑.极大地丰富了我们文章的结构样式,之前小程序还没有自己开发富文本插件,而在2019年微信小程序正式发布了富文本api. 支持的类型 ...
- FCK:editor解析
刚刚开始学习JavaWeb的时候容易被一些陌生的技术术语所迷惑,在开始的时候谁多是一样的!我今天修改程序的时候突然看见这样一行代码: <FCK:editor>中间是一系列的参数</F ...
- Unity Editor 基础篇(四):Handles
本文参自: 克森http://mp.weixin.qq.com/s/qxsKDPjJS30S9OXeQ8WKTw 本文为本人学习上链接的笔记微有改动,请点击以上链接查看原文,尊重楼主知识产权. Uni ...
- 艾伟:FCKeditor 配置、扩展
一.自定义 FCKeditor 的 BasePath BasePath 即FCKeditor在网站中的相对路径,默认值是 /fckeditor/,最好在Web.config appSettings中对 ...
- 社区v2022.3版上线:发帖、看直播、评论体验升级,并支持机构号申请
智源社区又一新版本和大家见面了,本期上线了哪些功能,一起来看看吧~ 01 社区编辑器界面优化,功能导航更清晰 编辑器有很多强大功能隐藏在菜单中,这个月我们结合成员的使用习惯,把最常用的功能置顶显示,让 ...
- python实现树有多少种方法_教程 | 从头开始:用Python实现决策树算法
如何计算并评价数据集中地候选分割点(Candidate Split Point) 如何在决策树结构中排分配这些分割点 如何在实际问题中应用这些分类和回归算法 一.概要 本节简要介绍了关于分类及回归树( ...
- a onclick 未响应_深大李冰石教授、港科大唐本忠院士:在多重刺激响应性材料领域取得最新进展...
刺激响应荧光分子是一类重要的可用于光学传感器制备的功能材料.目前已经报道的刺激响应荧光分子普遍具有单一响应的特点,难以满足多元化的应用需求,而多重刺激响应荧光分子的设计具有很大挑战.最近,深圳大学李冰 ...
- Markdown编辑器editor.md的使用
目录(?)[-] 一Markdown和editormd简介 二editormd的使用 1下载 2简单使用 21在自己的页面上引入相关的css和js代码如下 22在自己的页面中加上DIV 23在同页面中 ...
- 每天一个linux命令(50):crontab命令
前一天学习了 at 命令是针对仅运行一次的任务,循环运行的例行性计划任务,linux系统则是由 cron (crond) 这个系统服务来控制的.Linux 系统上面原本就有非常多的计划性工作,因此这个 ...
最新文章
- 如何轻松阅读 GitHub 上的项目源码?
- Web安全学习week6
- 第十一届 蓝桥杯 单片机设计与开发项目 省赛 程序设计试题及源码
- $PATH环境变量的作用
- 大数据_Flink_数据处理_案例WorldCount_批处理版---Flink工作笔记0008
- python:from skimage.measure import find_contours
- linux配置yum源、mount及yum命令
- MCS-51子程序库-1
- ZenTaoPMS.11.6.5.zbox_64.tar
- 感应加热计算机仿真软件,一种新型感应加热电源调功方式的研究与计算机仿真...
- 让ImageView尺寸适应图片比例和屏幕
- 解决MySQL CPU占用100%的经验总结 转
- 日本要把123万吨核污水排入太平洋,核威胁距离我们有多远?
- 常用的sql语句,sql使用大全
- MySQL索引(什么是索引、如何创建索引、什么时候用索引、索引的作用)
- php应该安装在c盘,vscode要装在c盘吗
- c语言程序0xc0000005解决方案,C语言调试时出现”Unhandled exception 0xC0000005;Access Violation“,是怎么回事呢?...
- NodeMCU-ESP8266使用TFT_eSPI库驱动IC为ST7735的1.44寸TFT屏幕(TFT_eSPI详解)
- pycharm中安装ctypes模块
- c语言project3: 复杂动态字体显示欲穷千里目更上一层楼,健身励志名言短句霸气?八字励志名言短句大全...
热门文章
- linux内存显示少,linux 显示的内存怎么少于我实际的物理内存
- 洛谷——P2342 叠积木
- 80004005 mysql_数据库报错80004005
- HDU-3987 Harry Potter and the Forbidden Forest(最大流)
- python安装插件很慢_Sublime text3+python3配置及插件安装
- GPU设备架构全面解析(持续更新ing)
- html 判断undefined,JS中 “is not defined” 如何判断defined,defined和undefined 的区别
- 使用电脑热点和Fiddler对Android app进行抓包
- 牛魔王珍满福拉面 - 北京团购网|京东团购
- 滑膜间充质干细胞复合壳聚糖水凝胶/角蛋白壳聚糖水凝胶复合材料/壳聚糖/海藻酸纳复合水凝胶的制备