CF2123C.Prefix Min and Suffix Max

传统题 时间 2000 ms 内存 256 MiB 5 尝试 1 已通过 1 标签

Prefix Min and Suffix Max

题目描述

给定一个由 互不相同整数 组成的数组 aa。每次操作可选择以下两种之一:

  • 选择 aa 的一个非空前缀^{\text{∗}},将其替换为该前缀的最小值。
  • 选择 aa 的一个非空后缀^{\text{†}},将其替换为该后缀的最大值。

注意:你可以选择整个数组 aa 作为操作对象。

对于每个元素 aia_i,判断是否存在操作序列将 aa 转化为单元素数组 [ai][a_i],即最终数组 aa 仅包含元素 aia_i

输出长度为 nn 的二进制字符串,第 ii 位为 1 表示可行,否则为 0

^{\text{∗}} 前缀指前 kk 个元素组成的子数组(k1k \geq 1)。
^{\text{†}} 后缀指后 kk 个元素组成的子数组(k1k \geq 1)。

输入格式

  • 第一行:tt1t1041 \leq t \leq 10^4),测试用例数
  • 每个测试用例包含两行:
    • 第一行:nn2n21052 \leq n \leq 2 \cdot 10^5)—— 数组 aa 的长度。
    • 第二行:nn 个整数 a1,a2,,ana_1, a_2, \dots, a_n1ai1061 \leq a_i \leq 10^6), 保证 aa 中数互不相同。
  • 所有测试用例的 nn 总和不超过 21052 \cdot 10^5

输出格式

  • 对于每个测试用例,输出一个长度为 nn 的二进制字符串——其中第 ii 个字符为 11 表示存在可行操作序列,否则为 00

说明/提示

初始数组 [1,3,5,4,7,2][1,3,5,4,7,2]

  1. 选择前缀 [1,3,5][1,3,5] → 替换为 min(1,3,5)=1\min(1,3,5)=1[1,4,7,2][1,4,7,2]
  2. 选择后缀 [7,2][7,2] → 替换为 max(7,2)=7\max(7,2)=7[1,4,7][1,4,7]
  3. 选择前缀 [1,4,7][1,4,7] → 替换为 11[1][1]

可证 a1=1a_1=1 可达,a2=3a_2=3 不可达(输出第2位为0)。

样例

3
6
1 3 5 4 7 2
4
13 10 12 20
7
1 2 3 4 5 6 7
100011
1101
1000001

在线编程 IDE

建议全屏模式获得最佳体验