CFCF2162H.Beautiful Problem

省选/NOI-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

对于长度为 nn 的数组 aa 以及三个整数 xxllrr1lrn1 \le l \le r \le n),定义:

f(a,x,l,r)={0,如果 (xminj=lr(aj))(xmaxj=lr(aj))<01,如果 (xminj=lr(aj))(xmaxj=lr(aj))0f(a,x,l,r) = \begin{cases} 0, & \text{如果} \ (x-\min_{j=l}^{r}(a_j)) \cdot (x-\max_{j=l}^{r}(a_j)) < 0 \\ 1, & \text{如果} \ (x-\min_{j=l}^{r}(a_j)) \cdot (x-\max_{j=l}^{r}(a_j)) \ge 0 \end{cases}

现给定一个长度为 nn 的数组 aa1ain1 \le a_i \le n),以及 mm 个区间 [li,ri][l_i, r_i]1lirin1 \le l_i \le r_i \le n)。

对于每个 x=1,2,,nx=1,2,\ldots,n,独立地回答如下问题:

  • 是否存在 aa 的一个重排列 aa',使得对于所有 1im1 \le i \le m,都有 f(a,x,li,ri)=1f(a',x,l_i,r_i)=1

输入格式

第一行包含一个整数 tt1t21041 \le t \le 2 \cdot 10^4),表示测试用例的组数。

每组测试用例的描述如下:

第一行包含两个整数 nnmm2n20002 \le n \le 20001m20001 \le m \le 2000)。

第二行包含 nn 个用空格分隔的整数 a1,a2,,ana_1, a_2, \cdots, a_n1ain1 \le a_i \le n)。

接下来的 mm 行,每行包含两个整数 li,ril_i, r_i1lirin1 \le l_i \le r_i \le n),表示一个区间。

保证所有测试用例中 n2n^2 之和与 m2m^2 之和都不超过 41064 \cdot 10^6

输出格式

对于每个测试用例,输出一个二进制字符串 ss。对于 x=1,2,,nx=1,2,\ldots,n,当且仅当存在 aa 的一个重排列 aa',使得对于所有 1im1 \le i \le m,都有 f(a,x,li,ri)=1f(a',x,l_i,r_i)=1 时,sx=1s_x=1;否则 sx=0s_x=0

输入输出样例

  • 输入#1

    4
    4 2
    1 1 3 4
    1 2
    2 4
    3 2
    1 1 3
    1 2
    2 3
    3 1
    1 1 1
    1 3
    9 3
    4 5 9 1 1 1 2 2 3
    1 6
    3 7
    7 9

    输出#1

    1011
    101
    111
    100100001

说明/提示

在第一个测试用例中:

  • 对于 x=1x=1,一种可行的重排列为 a=[1,1,3,4]a'=[1,1,3,4]
  • 对于 x=2x=2,不存在重排列 aa' 使得 f(a,2,1,2)=f(a,2,2,4)=1f(a',2,1,2)=f(a',2,2,4)=1
  • 对于 x=3x=3,唯一可行的重排列为 a=[4,3,1,1]a'=[4,3,1,1]
  • 对于 x=4x=4,一种可行的重排列为 a=[1,1,3,4]a'=[1,1,3,4]
首页