[蓝桥杯 2021 省 B] 双向排序

Luogu
IDLGP8747
Time1000ms
Memory128MB
DifficultyP6
2021蓝桥杯省赛Ad-hoc
给定序列 $\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}$ 升序排列。 请求出操作完成后的序列。 ## Input 输入的第一行包含两个整数 $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}$ 升序排列。 ## Output 输出一行,包含 $n$ 个整数,相邻的整数之间使用一个空格分隔,表示操作完成后的序列。 [samples] ## Note **【样例说明】** 原数列为 $(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 题。
Samples
Input #1
3 3
0 3
1 2
0 2
Output #1
3 1 2
API Response (JSON)
{
  "problem": {
    "name": "[蓝桥杯 2021 省 B] 双向排序",
    "description": {
      "content": "给定序列 $\\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}$ 升序排列。 请求出操",
      "description_type": "Markdown"
    },
    "platform": "Luogu",
    "limit": {
      "time_limit": 1000,
      "memory_limit": 131072
    },
    "difficulty": {
      "LuoguStyle": "P6"
    },
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "LGP8747"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "给定序列 $\\left(a_{1}, a_{2}, \\cdots, a_{n}\\right)=(1,2, \\cdots, n)$,即 $a_{i}=i$ 。\n\n小蓝将对这个序列进行 $m$ 次操作,每次可能是将 $a_{1}, a_{2}, \\cdots, a_{q_{i}}$ 降序排列,或者将 $a_{q_{i}}, a_{q_{i}+1}, \\cdots, a_{n}$ 升序排列。\n\n请求出操...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments