#L7989. [USACO21DEC] Bracelet Crossings G

    ID: 1065 传统题 文件IO:prob3 1000ms 256MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>分类讨论USACO2021

[USACO21DEC] Bracelet Crossings G

CF1658C Shinju and the Lost Permutation

题目描述

Shinju loves permutations very much! Today, she has borrowed a permutation p p from Juju to play with.

The i i -th cyclic shift of a permutation p p is a transformation on the permutation such that p=[p1,p2,,pn] 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 p as the number of distinct elements in the prefix maximums array b b of the permutation. The prefix maximums array b b is the array of length n n such that bi=max(p1,p2,,pi) b_i = \max(p_1, p_2, \ldots, p_i) . For example, the power of [1,2,5,4,6,3] [1, 2, 5, 4, 6, 3] is 4 4 since b=[1,2,5,5,6,6] b=[1,2,5,5,6,6] and there are 4 4 distinct elements in b b .

Unfortunately, Shinju has lost the permutation p p ! The only information she remembers is an array c c , where ci c_i is the power of the (i1) (i-1) -th cyclic shift of the permutation p 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 c , determine if there exists a permutation p p that is consistent with c c . You do not have to construct the permutation p p .

A permutation is an array consisting of n n distinct integers from 1 1 to n n in arbitrary order. For example, [2,3,1,5,4] [2,3,1,5,4] is a permutation, but [1,2,2] [1,2,2] is not a permutation ( 2 2 appears twice in the array) and [1,3,4] [1,3, 4] is also not a permutation ( n=3 n=3 but there is 4 4 in the array).

输入格式

The input consists of multiple test cases. The first line contains a single integer t t ( 1t5103 1 \leq t \leq 5 \cdot 10^3 ) — the number of test cases.

The first line of each test case contains an integer n n ( 1n105 1 \le n \le 10^5 ).

The second line of each test case contains n n integers c1,c2,,cn c_1,c_2,\ldots,c_n ( 1cin 1 \leq c_i \leq n ).

It is guaranteed that the sum of n n over all test cases does not exceed 105 10^5 .

输出格式

For each test case, print "YES" if there is a permutation p p exists that satisfies the array c 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
YES
YES
NO
NO
YES
NO

说明/提示

In the first test case, the permutation [1] [1] satisfies the array c c .

In the second test case, the permutation [2,1] [2,1] satisfies the array c c .

In the fifth test case, the permutation [5,1,2,4,6,3] [5, 1, 2, 4, 6, 3] satisfies the array c c . Let's see why this is true.

  • The zeroth cyclic shift of p p is [5,1,2,4,6,3] [5, 1, 2, 4, 6, 3] . Its power is 2 2 since b=[5,5,5,5,6,6] b = [5, 5, 5, 5, 6, 6] and there are 2 2 distinct elements — 5 5 and 6 6 .
  • The first cyclic shift of p p is [3,5,1,2,4,6] [3, 5, 1, 2, 4, 6] . Its power is 3 3 since b=[3,5,5,5,5,6] b=[3,5,5,5,5,6] .
  • The second cyclic shift of p p is [6,3,5,1,2,4] [6, 3, 5, 1, 2, 4] . Its power is 1 1 since b=[6,6,6,6,6,6] b=[6,6,6,6,6,6] .
  • The third cyclic shift of p p is [4,6,3,5,1,2] [4, 6, 3, 5, 1, 2] . Its power is 2 2 since b=[4,6,6,6,6,6] b=[4,6,6,6,6,6] .
  • The fourth cyclic shift of p p is [2,4,6,3,5,1] [2, 4, 6, 3, 5, 1] . Its power is 3 3 since b=[2,4,6,6,6,6] b = [2, 4, 6, 6, 6, 6] .
  • The fifth cyclic shift of p p is [1,2,4,6,3,5] [1, 2, 4, 6, 3, 5] . Its power is 4 4 since b=[1,2,4,6,6,6] b = [1, 2, 4, 6, 6, 6] .

Therefore, c=[2,3,1,2,3,4] c = [2, 3, 1, 2, 3, 4] .

In the third, fourth, and sixth testcases, we can show that there is no permutation that satisfies array c c .