【题目链接】

http://acm.hdu.edu.cn/showproblem.php?pid=4699

【算法】

维护两个栈,一个栈放光标之前的数,另外一个放光标之后的数

在维护栈的同时求最大前缀和,即可

【代码】

#include<bits/stdc++.h>
using namespace std;
const int MAXN = 1e6 + ;
const int INF = 2e9; class mstack
{
private :
int tot;
int s[MAXN];
public :
inline void clear()
{
tot = ;
}
inline void push(long long x)
{
tot++;
s[tot] = x;
}
inline void pop()
{
tot--;
}
inline long long top()
{
return s[tot];
}
inline bool empty()
{
return tot == ;
}
} s1,s2; int q,pos;
long long x;
long long sum[MAXN],f[MAXN];
char opt[]; int main()
{ while (scanf("%d",&q) != EOF)
{
f[] = -INF;
s1.clear();
s2.clear();
pos = ;
while (q--)
{
scanf("%s",&opt);
if (opt[] == 'I')
{
scanf("%lld",&x);
s1.push(x);
pos++;
sum[pos] = sum[pos-] + x;
f[pos] = max(f[pos-],sum[pos]);
}
if (opt[] == 'D')
{
if (s1.empty()) continue;
s1.pop();
pos--;
}
if (opt[] == 'L')
{
if (s1.empty()) continue;
x = s1.top();
s1.pop();
s2.push(x);
pos--;
}
if (opt[] == 'R')
{
if (s2.empty()) continue;
x = s2.top();
s2.pop();
s1.push(x);
pos++;
sum[pos] = sum[pos-] + x;
f[pos] = max(f[pos-],sum[pos]);
}
if (opt[] == 'Q')
{
scanf("%lld",&x);
printf("%lld\n",f[x]);
}
}
} return ; }

【HDU 4699】 Editor的更多相关文章

  1. 【数位dp】【HDU 3555】【HDU 2089】数位DP入门题

    [HDU  3555]原题直通车: 代码: // 31MS 900K 909 B G++ #include<iostream> #include<cstdio> #includ ...

  2. 【HDU 5647】DZY Loves Connecting(树DP)

    pid=5647">[HDU 5647]DZY Loves Connecting(树DP) DZY Loves Connecting Time Limit: 4000/2000 MS ...

  3. -【线性基】【BZOJ 2460】【BZOJ 2115】【HDU 3949】

    [把三道我做过的线性基题目放在一起总结一下,代码都挺简单,主要就是贪心思想和异或的高斯消元] [然后把网上的讲解归纳一下] 1.线性基: 若干数的线性基是一组数a1,a2,a3...an,其中ax的最 ...

  4. 【HDU 2196】 Computer(树的直径)

    [HDU 2196] Computer(树的直径) 题链http://acm.hdu.edu.cn/showproblem.php?pid=2196 这题可以用树形DP解决,自然也可以用最直观的方法解 ...

  5. 【HDU 2196】 Computer (树形DP)

    [HDU 2196] Computer 题链http://acm.hdu.edu.cn/showproblem.php?pid=2196 刘汝佳<算法竞赛入门经典>P282页留下了这个问题 ...

  6. 【HDU 5145】 NPY and girls(组合+莫队)

    pid=5145">[HDU 5145] NPY and girls(组合+莫队) NPY and girls Time Limit: 8000/4000 MS (Java/Other ...

  7. 【hdu 1043】Eight

    [题目链接]:http://acm.hdu.edu.cn/showproblem.php?pid=1043 [题意] 会给你很多组数据; 让你输出这组数据到目标状态的具体步骤; [题解] 从12345 ...

  8. 【HDU 3068】 最长回文

    [题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=3068 [算法] Manacher算法求最长回文子串 [代码] #include<bits/s ...

  9. 【HDU 4864】 Task

    [题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=4864 [算法] 贪心 不妨将两个数组分别按x从大到小排序 然后枚举每件物品,选择x值大于该物品的且 ...

随机推荐

  1. PHP图像函数

    (1)常见的验证码哪些?   图像类型.语音类型.视频类型.短信类型等 (2)使用验证码的好处在哪里? ①防止恶意的破解密码如一些黑客为了获取到用户信息,通过不同的手段向服务器发送数据,验证猜测用户信 ...

  2. ZOJ - 3987 - Numbers (大数 + 贪心)

    参考自:https://blog.csdn.net/u013534123/article/details/78484494 题意: 给出两个数字n,m,把n分成m份,使得以下最小 思路: 或运算只有0 ...

  3. bootstrap中栅格系统的原理

    1.基本结构 Bootstrap采取12列的栅格体系,根据主流设备的尺寸进行分段,每段宽度固定,通过百分比和媒体查询实现响应式布局. Bootstrap划分了四种尺寸:超小屏(手机).小屏(平板竖屏) ...

  4. [luoguP1474] 货币系统 Money Systems(背包)

    传送门 背包 ——代码 #include <cstdio> #include <iostream> #define LL long long int v, n; LL f[10 ...

  5. 【整理】uclibc,eglibc,glibc之间的区别和联系

    http://www.crifan.com/relation_between_uclibc_glibc_eglibc/ 1.Glibc glibc = GNU C Library 是GNU项(GNU ...

  6. 放大的X

    Problem Description 请你编程画一个放大的’X’.如3*3的’X’应如下所示: X X XX X 5*5的’X’如下所示:X X X X X X XX X   Input 输入数据第 ...

  7. xcode5下取消ARC

    打开你的工程,点击目录的工程文件,最顶端蓝色的,然后选择project下你的工程,还是蓝色那项,然后build Settings,然后往下拉,在Apple LLVM 5.0 - Language - ...

  8. docker: 解决centos7下cgroup.procs: no such device的错误

    在centos7下,运行docker run的时候会发生cgroup.procs: no such device的错误,解决方法是编辑 /lib/systemd/system/docker.servi ...

  9. 条款39: 避免 "向下转换" 继承层次

    基类指针不能调用派生类的独有的成员,即使基类指针指向派生类对象,因为编译器是根据指针的静态类型来确定调用对象在内存中占据的空间的.此时可以使用static_cast来转换,但不要这么做,因为向下转换难 ...

  10. A Complete Guide to Usage of ‘usermod’ command– 15 Practical Examples with Screenshots

    https://www.tecmint.com/usermod-command-examples/ -------------------------------------------------- ...