问题 Z: 双向排序

内存限制:128 MB 时间限制:1 S
题面:传统 评测方式:文本比较 上传者:
提交:1 通过:1

题目描述

给定序列 $\left(a_{1}, a_{2}, \cdots, a_{n}\right)=(1,2, \cdots, n)$,即 $a_{i}=i$ 。

小蓝将对这个序列进行 $m$ 次操作,每次可能是将 $a_{1}, a_{2}, \cdots, a_{q_{i}}$ 降序排列,或者将 $a_{q_{i}}, a_{q_{i}+1}, \cdots, a_{n}$ 升序排列。
请求出操作完成后的序列。
题目描述:P8747 [蓝桥杯 2021 省 B] 双向排序 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)


输入格式

输入的第一行包含两个整数 $n, m$,分别表示序列的长度和操作次数。

接下来 $m$ 行描述对序列的操作,其中第 $i$ 行包含两个整数 $p_{i}, q_{i}$ 表示操作类型和参数。

当 $p_{i}=0$ 时,表示将 $a_{1}, a_{2}, \cdots, a_{q_{i}}$ 降序排列;

当 $p_{i}=1$ 时,表示将 $a_{q_{i}}, a_{q_{i}+1}, \cdots, a_{n}$ 升序排列。

输出格式


输出一行,包含 $n$ 个整数,相邻的整数之间使用一个空格分隔,表示操作完成后的序列。

输入样例 复制

3 3
0 3
1 2
0 2

输出样例 复制

3 1 2

数据范围与提示

**【样例说明】**

原数列为 $(1,2,3)$。

第 1 步后为 $(3,2,1)$。

第 2 步后为 $(3,1,2)$。

第 3 步后为 $(3,1,2)$。与第 2 步操作后相同, 因为前两个数已经是降序了。

**【评测用例规模与约定】**

对于 $30 \%$ 的评测用例, $n, m \leq 1000$;

对于 $60 \%$ 的评测用例, $n, m \leq 5000$;

对于所有评测用例, $1 \leq n, m \leq 10^5,0 \leq p_{i} \leq 1,1 \leq q_{i} \leq n$ 。 

蓝桥杯 2021 第一轮省赛 B 组 I 题。