输入第一行是两个正整数 , (),分别表示正整数个数以及操作次数。
接下来的一行有 个用一个空格隔开的正整数 (),表示需要进行操作的原始数字序列。
紧接着有 部分,每一部分表示一次操作,你需要按照输入顺序依次执行这些操作。记 为当前操作序列长度(注意原始序列在经过数次操作后,其长度可能不再是 )。每部分的格式与约定如下:
- 第一行是一个 到 的正整数,表示操作类型,对应着题面中描述的操作( 对应查找-替换操作, 对应插入平均数操作, 对应翻转操作);
-
- 第二行首先有一个正整数 (),表示需要查找的正整数序列的长度,接下来有 个正整数(范围与 一致),表示要查
找的序列里的数字,数字之间用一个空格隔开。查找时序列是连续的,不能拆分。第三行跟第二行格式一致,给出需要替换的序列长度 和对应的正整数序列。
如果原序列中有多个可替换的正整数序列,只替换第一个数开始序号最小的一段,且一次操作只替换一次。注意 范围可能远超出 。如果没有符合要求的
可替换序列,则直接不进行任何操作。
-
- 没有后续输入,直接按照题面要求对整个序列进行操作。
-
- 第二行是两个正整数 , (),表示需要翻转的连续一段的左端点和右端点下标(闭区间)。
每次操作结束后的序列为下一次操作的起始序列。
保证操作过程中所有数字序列长度不超过 。题目中的所有下标均从 开始。