#ATagc058c. [AGC058C] Planar Tree

[AGC058C] Planar Tree

题目描述

在一个圆环上排列着 NN 个顶点。顶点按顺时针方向编号为 11NN,第 ii 个顶点上写有整数 AiA_i,其中 AiA_i 的取值为 1,2,3,41,2,3,4 中的一个。此外,AA 中的 1,2,3,41,2,3,4 每个数字都至少出现一次。

现在考虑在这 NN 个顶点之间添加 N1N-1 条边,使其构成一棵树。此时,必须满足以下条件:

  • 如果顶点 xxyy 之间直接有边相连,则 AxAy=1|A_x-A_y|=1
  • 添加的所有边如果画成线段,则任意两条边除了端点外不会相交。

例如,下图是满足条件的树的一个例子。

figure1

请判断是否存在一种方案,能够构造出满足条件的树。

对于每个输入文件,需要解答 TT 个测试用例。

输入格式

输入按以下格式从标准输入读入。

TT
case1case_1
case2case_2
\vdots
caseTcase_T

每个测试用例的格式如下:

NN A1A_1 A2A_2 \cdots ANA_N

输出格式

对于每个测试用例,如果可以构造出满足条件的树,则输出 Yes,否则输出 No

样例 1

输入

3
4
1 2 3 4
4
1 3 4 2
4
1 4 2 3

输出

Yes
Yes
No

样例 2

输入

3
8
4 2 3 4 1 2 2 1
8
3 2 2 3 1 3 3 4
8
2 3 3 2 1 4 1 4

输出

Yes
Yes
No

说明/提示

限制条件

  • 1T750001 \leq T \leq 75000
  • 4N3000004 \leq N \leq 300000
  • 1Ai41 \leq A_i \leq 4
  • AA 中的 1,2,3,41,2,3,4 每个数字都至少出现一次
  • 每个输入文件中所有 NN 的总和不超过 300000300000
  • 输入均为整数

样例解释 2

第一个测试用例对应于题目描述中的图示。

由 ChatGPT 4.1 翻译