CFCF2162H.Beautiful Problem
省选/NOI-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
对于长度为 n 的数组 a 以及三个整数 x、l 和 r(1≤l≤r≤n),定义:
f(a,x,l,r)={0,1,如果 (x−minj=lr(aj))⋅(x−maxj=lr(aj))<0如果 (x−minj=lr(aj))⋅(x−maxj=lr(aj))≥0
现给定一个长度为 n 的数组 a(1≤ai≤n),以及 m 个区间 [li,ri](1≤li≤ri≤n)。
对于每个 x=1,2,…,n,独立地回答如下问题:
- 是否存在 a 的一个重排列 a′,使得对于所有 1≤i≤m,都有 f(a′,x,li,ri)=1?
输入格式
第一行包含一个整数 t(1≤t≤2⋅104),表示测试用例的组数。
每组测试用例的描述如下:
第一行包含两个整数 n 和 m(2≤n≤2000,1≤m≤2000)。
第二行包含 n 个用空格分隔的整数 a1,a2,⋯,an(1≤ai≤n)。
接下来的 m 行,每行包含两个整数 li,ri(1≤li≤ri≤n),表示一个区间。
保证所有测试用例中 n2 之和与 m2 之和都不超过 4⋅106。
输出格式
对于每个测试用例,输出一个二进制字符串 s。对于 x=1,2,…,n,当且仅当存在 a 的一个重排列 a′,使得对于所有 1≤i≤m,都有 f(a′,x,li,ri)=1 时,sx=1;否则 sx=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=1,一种可行的重排列为 a′=[1,1,3,4]。
- 对于 x=2,不存在重排列 a′ 使得 f(a′,2,1,2)=f(a′,2,2,4)=1。
- 对于 x=3,唯一可行的重排列为 a′=[4,3,1,1]。
- 对于 x=4,一种可行的重排列为 a′=[1,1,3,4]。