#3842. 超级备忘录
超级备忘录
题目描述
你的朋友达达被邀请参加一个叫做“超级备忘录”的电视节目。
在这个节目中,参与者需要玩一个记忆游戏。
在一开始,主持人会告诉所有参与者一个数列,。
接下来,主持人会在数列上做一些操作,操作包括以下几种:
ADD x y D
:给子序列 {} 统一加上一个数 。例如,在 {1,2,3,4,5} 上进行操作ADD 2 4 1
会得到 {1,3,4,5,5}。REVERSE x y
:将子序列 {} 逆序排布。例如,在 {1,2,3,4,5} 上进行操作REVERSE 2 4
会得到 {1,4,3,2,5}。REVOLVE x y T
:将子序列 {} 轮换 T 次。例如,在 {1,2,3,4,5} 上进行操作REVOLVE 2 4 2
会得到 {1,3,4,2,5}。INSERT x P
:在 后面插入。例如,在 {1,2,3,4,5} 上进行操作INSERT 2 4
会得到 {1,2,4,3,4,5}。DELETE x
:删除 。例如,在 {1,2,3,4,5} 上进行操作DELETE 2
会得到 {1,3,4,5}。MIN x y
:询问子序列 {} 中的最小值。例如,{1,2,3,4,5} 上执行MIN 2 4
的正确答案为 2。
为了使得节目更加好看,每个参赛人都有机会在觉得困难时打电话请求场外观众的帮助。
你的任务是看这个电视节目,然后写一个程序对于每一个询问计算出结果,这样可以使得达达在任何时候打电话求助你的时候,你都可以给出正确答案。
输入格式
第一行包含一个整数 n。
接下来 行给出了序列中的数。
接下来一行包含一个整数,描述操作和询问的数量。
接下来 行给出了所有的操作和询问。
输出格式
对于每一个 MIN
询问,输出正确答案。
每个答案占一行。
样例
5
1
2
3
4
5
2
ADD 2 4 1
MIN 4 5
5
数据范围
- , 初始序列中数的范围 [1,]。
- 操作保证合法,序列中的数始终都在 int 范围内。
来源
- POJ3580
- 算法竞赛进阶指南