对顶栈算法。

此题充分说明了cin的不中以及scanf的优越性。

我TM用cin超时了!!!换成scanf就A了!!!

 #include <cstdio>
#include <cstring>
#include <iostream>
const int N = 1e6 + , INF = 0x3f3f3f3f;
inline int max(int a, int b) {
return a > b ? a : b;
} struct DZ {
int l[N], r[N], sum[N], large[N];
int tl, tr;
DZ() {
memset(l, , sizeof(l));
memset(r, , sizeof(r));
tl = tr = sum[] = ;
large[] = -INF;
}
void clear() {
tl = tr = ;
return;
}
void insert(int x) {
l[++tl] = x;
sum[tl] = sum[tl - ] + x;
large[tl] = max(large[tl - ], sum[tl]);
return;
}
void del() {
tl--;
return;
}
void left() {
if(tl) {
r[++tr] = l[tl--];
}
return;
}
void right() {
if(tr) {
insert(r[tr--]);
}
return;
}
int ask(int k) {
return large[k];
}
}dz; int main() {
int Q;
while(scanf("%d", &Q) != EOF) {
dz.clear();
for(int i = ; i <= Q; i++) {
char a[]; int x;
scanf("%s", a);
if(a[] == 'I') {
scanf("%d", &x);
dz.insert(x);
}
else if(a[] == 'D') {
dz.del();
}
else if(a[] == 'L') {
dz.left();
}
else if(a[] == 'R') {
dz.right();
}
else {
scanf("%d", &x);
printf("%d\n", dz.ask(x));
}
}
}
return ;
}

AC代码

HDU/HDOJ 4699 Editor的更多相关文章

  1. HDOJ 4699 Editor 栈 模拟

    用两个栈模拟: Editor Time Limit: 3000/2000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) ...

  2. HDOJ 4699 Editor 对顶栈模拟

    Editor Time Limit: 3000/2000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) Total Subm ...

  3. HDU 4699 - Editor - [对顶栈]

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4699 Problem Description Sample Input8I 2I -1I 1Q 3LD ...

  4. HDU 4699 Editor (2013多校10,1004题)

    Editor Time Limit: 3000/2000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)Total Su ...

  5. hdu 4699 Editor 模拟栈

    思路:刚开始用STL中的栈,一直RE……,之后改为手动模拟栈操作,在注意点细节就可以了!!! 代码如下: #include<cstdio> #include<cstring> ...

  6. HDU 4699 Editor(双向链表)

    双向链表直接模拟. 用一个辅助数组maxSum来维护一下前k项中[1,k]的最大和. 因为光标是一格一格的移动,所以每次光标右移的时候动态更新一下即可. 时间复杂度O(n). #include < ...

  7. HDU 4699 Editor 维护栈

    维护两个栈,分别存光标前和光标后的数 再维护前缀和的栈 和 前缀和最大值的栈 注意一下左移,右移,删除到顶了就不操作了 5个操作 I x : 光标处插入x  -----> s1.push(x) ...

  8. HDU 4699 Editor(模拟 对顶栈)

    题目大意: 给定一个整数序列 维护5种操作 次数<1e6 I x: 光标位置插入x 然后光标位于x之后 D: 删除光标前一个数 L: 光标左移 R: 光标右移 Q k: 询问位置k之前的最大前缀 ...

  9. HDU—4699 Editor 双向链表+子集和

    惨.今天聪哥选了2013 多校10做训练,结果一题都没做出来.这个题目是数据结构,正好是我强项 如果只是插入 删除 光标左右移动,那都小菜,用链表全解决,关键是那个Q k 要求 a1到aq的连续子序列 ...

随机推荐

  1. zTree树形菜单交互选项卡效果实现

    1. 添加自定义属性 page 2. 为 ztree 每个树形节点,添加点击事件 <!DOCTYPE html> <html> <head> <meta ch ...

  2. springIOC源码分析(BeanFactroy)

    启动spring容器加载bean的方式有两种:最基本的容器BeanFactory和高级容器ApplicationContext.这篇文章介绍使用BeanFactory加载bean时的整个过程,当然,A ...

  3. java学习之—链表(4)

    /** * 使用链表实现队列 * Create by Administrator * 2018/6/19 0019 * 下午 4:37 **/ public class Link { public l ...

  4. k8s使用Glusterfs动态生成pv

    一.环境介绍 [root@k8s-m ~]# cat /etc/hosts127.0.0.1 localhost localhost.localdomain localhost4 localhost4 ...

  5. python数据结构与算法学习自修第二天【时间复杂度与大O表示法】

    #!/usr/bin/env python #! _*_ coding:UTF-8 _*_ from Queue import Queue import time que = Queue() time ...

  6. Django数据库操作中You are trying to add a non-nullable field 'name' to contact without a default错误处理

    name = models.CharField(max_length=50) 执行:python manage.py makemirations出现以下错误: You are trying to ad ...

  7. python RSA 加密与签名

    PyCrypto装起来就简单多了,我是直接 sudo easy_install pycrypto 直接搞定的 先生成rsa的公私钥:打开控制台,输入 openssl 再输入 genrsa -out p ...

  8. Ehlib(Delphi控件) v9.2.024 D7-XE10.2 免费绿色特别版

    下载地址:https://www.jb51.net/softs/579413.html#downintro2 EHLib是一个DELPHI 下的非常棒的第三方Grid控件,比DELPHI自带的强大许多 ...

  9. NaN与Null与undefiined的关系

    在js中,定义一个变量需要通过关键字var来定义,定义的变量可以是字符串.数字等等都行.但是如果你只是定义了一个变量,没有给他赋值,那么它就默认为'undefined'.例如 var name; co ...

  10. caffe boost cuda __float128 undefined

    转载:https://blog.csdn.net/thesby/article/details/50512886 编译caffe-master时遇到的问题,__float128未定义,使用到cuda版 ...