编程题
双向排序 ### 题目描述 给定序列 $(a_1, a_2, · · · , a_n) = (1, 2, · · · , n)$,即 $a_i = i$。 小蓝将对这个序列进行 $m$ 次操作,每次可能是将 $a_1, a_2,\cdots , a_{q_i}$ 降序排列,或者将 $a_{q_i}, a_{q_{i+1}},\cdots , a_n$ 升序排列。 请求出操作完成后的序列。 ### 输入描述 输入的第一行包含两个整数 $n, m$​,分别表示序列的长度和操作次数。 接下来 $m$​ 行描述对序列的操作,其中第 i 行包含两个整数 $p_i, q_i$​ 表示操作类型和参数。当 $p_i = 0$​​ 时,表示将 $a_1, a_2, · · · , a_{q_i}$​​ 降序排列;当 $p_i = 1$​ 时,表示将 $a_{q_i} , a_{q_{i+1}}, \cdots, a_n$​ 升序排列。 ### 输出描述 输出一行,包含 $n$ 个整数,相邻的整数之间使用一个空格分隔,表示操作完成后的序列。 ### 输入输出样例 #### 示例 >输入 ```txt 3 3 0 3 1 2 0 2 ``` >输出 ```txt 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 100000,0 \leq p_i \leq 1,1 \leq q_i \leq n$。
查看答案
赣ICP备20007335号-2