算法竞赛进阶指南0x11:Editor

本文介绍了一种强大的整数序列编辑器,提供了插入、删除、左右移动光标及求最大前缀和等操作。通过两种解法,包括使用数组模拟栈和直接使用两个栈来维护序列状态,解决复杂操作并优化查询效率。
摘要由CSDN通过智能技术生成

原题链接

你将要实现一个功能强大的整数序列编辑器。

在开始时,序列是空的。

编辑器共有五种指令,如下:

1、I x,在光标处插入数值 xx。
2、D,将光标前面的第一个元素删除,如果前面没有元素,则忽略此操作。
3、L,将光标向左移动,跳过一个元素,如果左边没有元素,则忽略此操作。
4、R,将光标向右移动,跳过一个元素,如果右边没有元素,则忽略次操作。
5、Q k,假设此刻光标之前的序列为 a1,a2,…,ana1,a2,…,an,输出 max1≤i≤kSimax1≤i≤kSi,其中 Si=a1+a2+…+aiSi=a1+a2+…+ai。

输入格式

第一行包含一个整数 QQ,表示指令的总数。

接下来 QQ 行,每行一个指令,具体指令格式如题目描述。

输出格式

每一个 Q k 指令,输出一个整数作为结果,每个结果占一行。

数据范围

1≤Q≤1061≤Q≤106,
|x|≤103|x|≤103,
1≤k≤n1≤k≤n

输入样例:

8
I 2
I -1
I 1
Q 3
L
D
R
Q 2

输出样例:</

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值