CF1265B.Beautiful Numbers
普及-
通过率:0%
时间限制:1.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
You are given a permutation p=[p1,p2,…,pn] of integers from 1 to n. Let's call the number m (1≤m≤n) beautiful, if there exists two indices l,r (1≤l≤r≤n), such that the numbers [pl,pl+1,…,pr] is a permutation of numbers 1,2,…,m.
For example, let p=[4,5,1,3,2,6]. In this case, the numbers 1,3,5,6 are beautiful and 2,4 are not. It is because:
- if l=3 and r=3 we will have a permutation [1] for m=1;
- if l=3 and r=5 we will have a permutation [1,3,2] for m=3;
- if l=1 and r=5 we will have a permutation [4,5,1,3,2] for m=5;
- if l=1 and r=6 we will have a permutation [4,5,1,3,2,6] for m=6;
- it is impossible to take some l and r, such that [pl,pl+1,…,pr] is a permutation of numbers 1,2,…,m for m=2 and for m=4.
You are given a permutation p=[p1,p2,…,pn]. For all m (1≤m≤n) determine if it is a beautiful number or not.
给你一个 1 到 n 的整数排列 p=[p1,p2,…,pn]。我们称一个数 m(1≤m≤n)是优美的,如果存在两个下标 l,r(1≤l≤r≤n),使得子数组 [pl,pl+1,…,pr] 恰好是 1,2,…,m 的一个排列。
例如,设 p=[4,5,1,3,2,6]。此时,数字 1,3,5,6 是优美的,而 2,4 不是。原因如下:
- 当 l=3 且 r=3 时,得到子数组 [1],它是 1,2,…,1(即 [1])的一个排列,故 m=1 是优美的;
- 当 l=3 且 r=5 时,得到子数组 [1,3,2],它是 1,2,…,3(即 [1,2,3])的一个排列,故 m=3 是优美的;
- 当 l=1 且 r=5 时,得到子数组 [4,5,1,3,2],它是 1,2,…,5(即 [1,2,3,4,5])的一个排列,故 m=5 是优美的;
- 当 l=1 且 r=6 时,得到子数组 [4,5,1,3,2,6],它是 1,2,…,6(即 [1,2,3,4,5,6])的一个排列,故 m=6 是优美的;
- 不存在任何 l 和 r,使得 [pl,pl+1,…,pr] 是 1,2,…,m 的排列,当 m=2 或 m=4 时。
给你一个排列 p=[p1,p2,…,pn]。对每个 m(1≤m≤n),判断它是否为优美的数。
输入格式
The first line contains the only integer t (1≤t≤1000) — the number of test cases in the input. The next lines contain the description of test cases.
The first line of a test case contains a number n (1≤n≤2⋅105) — the length of the given permutation p. The next line contains n integers p1,p2,…,pn (1≤pi≤n, all pi are different) — the given permutation p.
It is guaranteed, that the sum of n from all test cases in the input doesn't exceed 2⋅105.
第一行包含一个整数 t(1≤t≤1000)—— 输入中测试用例的数量。接下来的行描述各测试用例。
每个测试用例的第一行包含一个整数 n(1≤n≤2⋅105)—— 给定排列 p 的长度。下一行包含 n 个整数 p1,p2,…,pn(1≤pi≤n,且所有 pi 互不相同)—— 给定的排列 p。
保证输入中所有测试用例的 n 值之和不超过 2⋅105。
输出格式
Print t lines — the answers to test cases in the order they are given in the input.
The answer to a test case is the string of length n, there the i-th character is equal to 1 if i is a beautiful number and is equal to 0 if i is not a beautiful number.
输出 t 行——按输入中给出的顺序,对应各测试用例的答案。
每个测试用例的答案是一个长度为 n 的字符串,其中第 i 个字符为 1 当且仅当 i 是一个“优美数”,否则为 0。
输入输出样例
输入#1
3 6 4 5 1 3 2 6 5 5 3 1 2 4 4 1 4 3 2
输出#1
101011 11111 1001
说明/提示
The first test case is described in the problem statement.
In the second test case all numbers from 1 to 5 are beautiful:
- if l=3 and r=3 we will have a permutation [1] for m=1;
- if l=3 and r=4 we will have a permutation [1,2] for m=2;
- if l=2 and r=4 we will have a permutation [3,1,2] for m=3;
- if l=2 and r=5 we will have a permutation [3,1,2,4] for m=4;
- if l=1 and r=5 we will have a permutation [5,3,1,2,4] for m=5.
第一个测试用例已在题目描述中给出。
在第二个测试用例中,从 1 到 5 的所有数字都是优美的:
- 若 l=3 且 r=3,则当 m=1 时,我们将得到排列 [1];
- 若 l=3 且 r=4,则当 m=2 时,我们将得到排列 [1,2];
- 若 l=2 且 r=4,则当 m=3 时,我们将得到排列 [3,1,2];
- 若 l=2 且 r=5,则当 m=4 时,我们将得到排列 [3,1,2,4];
- 若 l=1 且 r=5,则当 m=5 时,我们将得到排列 [5,3,1,2,4]。
输入解题思路,AI测评打分。不知道怎么写?