版权声明
本题版权归 Long Long OJ 所有。
注意
本题的时间限制为 10 秒。
题目描述
给定一个包含 n 个元素的序列 a1,a2,…,an,进行 q 次操作:
- 数:形如 1 x y,代表依次输出 ax,ax+1,⋯,ay,保证 1≤y−x+1≤20。
- 聚:形如 2 x y,代表将 ax 移动到 ay 后。保证 1≤x<y≤n。
- 截:形如 3 x y,代表截取 ax,ax+1,⋯,ay 并翻转后放到序列的末尾。保证 1≤x<y≤n。
- 构:形如 4 x y,代表修改 ax←y。保证 1≤x≤n,−109≤y≤109。
输入格式
- 第一行:两个整数 n,q,代表序列长度和询问个数;
- 第二行:n 个整数 a1,a2,⋯,an;
- 第 3∼q+2 行:每行一个询问。
输出格式
对于每个「数」操作,输出一行 y−x+1 个整数,用空格隔开。
特别地,在操作完序列后,需要输出一行 n 个整数表示最终序列,具体格式为:
Final sequence: a[1] a[2] ... a[n]
样例
请在「下发文件」处获取样例。
下发文件
请在这里下载下发文件。
数据范围
| Subtask |
分值 |
0≤n,q≤ |
特殊性质 |
依赖子任务 |
| 1 |
4 |
0 |
A,B,C,D |
- |
| 2 |
10 |
A |
1 |
| 3 |
12 |
500 |
1 - 2 |
| 4 |
16 |
5000 |
1 - 3 |
| 5 |
12 |
/ |
1 - 4 |
| 6 |
4 |
2×105 |
A,B |
1 |
| 7 |
8 |
A,C |
| 8 |
A,D |
| 9 |
12 |
D |
1, 8 |
| 10 |
4 |
A |
1 - 4, 6 - 8 |
| 11 |
16 |
/ |
1 - 10 |
- 特殊性质 A:数据随机。
- 特殊性质 B:只有「数」操作和「构」操作。
- 特殊性质 C:只有「聚」操作。
- 特殊性质 D:只有「截」操作。
对于 100% 的数据,1≤n,q≤2×105,−109≤ai≤109。