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 系统上面原本就有非常多的计划性工作,因此这个 ...
最新文章
- orcal 忘记用户名和密码
- 增加和删除用户组与用户
- Leetcode记录
- word存为html图片有两个,如何批量保存Word图片?另存为Word多个图片的方法
- 完全卸载ORACLE9i
- SQL字符串处理函数大全
- GNS3 VoIP Lab (Cisco 3725 and CME 4.3)
- Q+开放的互联网:腾讯QQ “亮剑” 开放平台
- 解析浏览器访问服务器 Servlet 应用程序的交互过程(Servlet 容器如何处理请求资源路径)
- python列表的表示形式_python 列表推导式
- RANet:MSDNet加强版!清华黄高团队提出分辨率自适应的高效推理网络RANet!
- 【报告分享】中国营销数字化行业趋势报告:全渠道时代,品牌商如何抓住消费者?(附下载链接)...
- win7 mysql 启动 问题
- 直流电机正反转驱动电路板
- 见贤思齐与三人行必有我师
- CORTEX-A系列处理器
- 格斗类游戏的键盘处理
- Ubuntu顶栏显示网速和硬件信息
- 运行计算机配置gpedit,组策略(gpeditmsc)学习
- 企业选型OA系统 ,如何选择合适的?
热门文章
- 量化交易11-backtrader回测两只乌鸦、三只乌鸦K线形态图
- 中国网络游戏上市突击大事记
- 项目经理一定要知道的PMP项目管理八大会议流程-(PMBOK高频考点)
- vscode文件名颜色含义与右侧字母含义
- hl7 java_HL7 2.X解析(JAVA版)
- python 批处理合并表格_高效办公4——Python批量合并Excel指定列相同内容单元格...
- 计算机32还是64位操作系统,电脑系统32位好还是64位好 哪个快?
- SpringBoot 2.X Redis Jackson 序列化配置
- 学习MyBatis-Plus
- 网易mumu模拟器的使用