| 题目名称 | 2662. [POJ 3580]超级备忘录 |
|---|---|
| 输入输出 | supermemo.in/out |
| 难度等级 | ★★★☆ |
| 时间限制 | 2000 ms (2 s) |
| 内存限制 | 256 MiB |
| 测试数据 | 10 |
| 题目来源 |
|
| 开放分组 | 全部用户 |
| 提交状态 | |
| 分类标签 | |
| 分享题解 |
| 通过:0, 提交:0, 通过率:0% | |||
| 关于 超级备忘录 的近10条评论(全部评论) |
|---|
你的朋友被邀请参加一个叫做“超级备忘录”的电视节目。在这个节目中,参与者需要玩一个记忆游戏。
在一开始,主持人会告诉所有参与者一个数列,A1,A2,…,An。接下来,主持人会在数列上做一些操作,操作包括以下几种:
ADD x y D:给子序列 {Ax,…,Ay} 统一加上一个数 DD。例如,在 {1,2,3,4,5} 上进行操作 ADD 2 4 1 会得到 {1,3,4,5,5}。REVERSE x y:将子序列 {Ax,…,Ay} 逆序排布。例如,在 {1,2,3,4,5} 上进行操作 REVERSE 2 4 会得到 {1,4,3,2,5}。
REVOLVE x y T:将子序列 {Ax,…,Ay} 轮换 T 次。例如,在 {1,2,3,4,5} 上进行操作 REVOLVE 2 4 2 会得到 {1,3,4,2,5}。
INSERT x P:在 Ax 后面插入 P。例如,在 {1,2,3,4,5}{1,2,3,4,5} 上进行操作 INSERT 2 4 会得到 {1,2,4,3,4,5}。
DELETE x:删除 Ax。例如,在 {1,2,3,4,5} 上进行操作 DELETE 2 会得到 {1,3,4,5}。
MIN x y:询问子序列 {Ax,…,Ay} 中的最小值。例如,{1,2,3,4,5} 上执行 MIN 2 4 的正确答案为 2
为了使得节目更加好看,每个参赛人都有机会在觉得困难时打电话请求场外观众的帮助。
你的任务是看这个电视节目,然后写一个程序对于每一个询问计算出结果,这样可以使得达达在任何时候打电话求助你的时候,你都可以给出正确答案。
第一行包含一个整数 n。
接下来 n 行给出了序列中的数。
接下来一行包含一个整数 M,描述操作和询问的数量。
接下来 M 行给出了所有的操作和询问。
对于每一个 MIN 询问,输出正确答案。
每个答案占一行。
5 1 2 3 4 5 2 ADD 2 4 1 MIN 4 5
5
$n\leq 100000,M\leq 100000$,初始序列中数的范围 $[1,10^5]$。
操作保证合法,序列中的数始终都在 int 范围内。