309292: CF1658C. Shinju and the Lost Permutation
Memory Limit:256 MB
Time Limit:1 S
Judge Style:Text Compare
Creator:
Submit:0
Solved:0
Description
Shinju and the Lost Permutation
题意翻译
给出如下定义: - 排列 $p=[p_1,p_2,\cdots,p_n]$ 的第 $i$ 循环置换为 $p=[p_{n-i+1},\cdots,p_{n},p_1,p_2,\cdots,p_{n-i}]$。可以发现它仍然是一个排列。 - 对于一个排列 $p=[p_1,p_2,\cdots,p_n]$,假设有一个数组 $b=[b_1,b_2,\cdots,b_n]$,其中 $b_i=\max\limits_{1\leqslant j\leqslant i}p_j$,那么排列 $p$ 的权值为 $b$ 数组中出现的不同元素的个数。 现在,给定一个长度为 $n$ 的数组 $c=[c_1,c_2,\cdots,c_n]$,请判断是否存在一个 $1\sim n$ 的排列 $p$,使得对于所有的 $1\leqslant i\leqslant n$,$c_i$ 是排列 $p$ 的第 $i-1$ 循环置换的权值。 数据范围: - $t$ 组数据,$1\leqslant t\leqslant 5\times 10^3$。 - $1\leqslant n,\sum n\leqslant 10^5$。 - $1\leqslant c_i\leqslant n$。 Translated by Eason_AC题目描述
Shinju loves permutations very much! Today, she has borrowed a permutation $ p $ from Juju to play with. The $ i $ -th cyclic shift of a permutation $ p $ is a transformation on the permutation such that $ p = [p_1, p_2, \ldots, p_n] $ will now become $ p = [p_{n-i+1}, \ldots, p_n, p_1,p_2, \ldots, p_{n-i}] $ . Let's define the power of permutation $ p $ as the number of distinct elements in the prefix maximums array $ b $ of the permutation. The prefix maximums array $ b $ is the array of length $ n $ such that $ b_i = \max(p_1, p_2, \ldots, p_i) $ . For example, the power of $ [1, 2, 5, 4, 6, 3] $ is $ 4 $ since $ b=[1,2,5,5,6,6] $ and there are $ 4 $ distinct elements in $ b $ . Unfortunately, Shinju has lost the permutation $ p $ ! The only information she remembers is an array $ c $ , where $ c_i $ is the power of the $ (i-1) $ -th cyclic shift of the permutation $ p $ . She's also not confident that she remembers it correctly, so she wants to know if her memory is good enough. Given the array $ c $ , determine if there exists a permutation $ p $ that is consistent with $ c $ . You do not have to construct the permutation $ p $ . A permutation is an array consisting of $ n $ distinct integers from $ 1 $ to $ n $ in arbitrary order. For example, $ [2,3,1,5,4] $ is a permutation, but $ [1,2,2] $ is not a permutation ( $ 2 $ appears twice in the array) and $ [1,3, 4] $ is also not a permutation ( $ n=3 $ but there is $ 4 $ in the array).输入输出格式
输入格式
The input consists of multiple test cases. The first line contains a single integer $ t $ ( $ 1 \leq t \leq 5 \cdot 10^3 $ ) — the number of test cases. The first line of each test case contains an integer $ n $ ( $ 1 \le n \le 10^5 $ ). The second line of each test case contains $ n $ integers $ c_1,c_2,\ldots,c_n $ ( $ 1 \leq c_i \leq n $ ). It is guaranteed that the sum of $ n $ over all test cases does not exceed $ 10^5 $ .
输出格式
For each test case, print "YES" if there is a permutation $ p $ exists that satisfies the array $ c $ , and "NO" otherwise. You can output "YES" and "NO" in any case (for example, strings "yEs", "yes", "Yes" and "YES" will be recognized as a positive response).
输入输出样例
输入样例 #1
6
1
1
2
1 2
2
2 2
6
1 2 4 6 3 5
6
2 3 1 2 3 4
3
3 2 1
输出样例 #1
YES
YES
NO
NO
YES
NO