小红的双排列删除
题号:NC296528
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 1024 M,其他语言2048 M
64bit IO Format: %lld

题目描述

\hspace{15pt}小红拿到了一个长为  的双排列 \{a_{1},a_{2},...,a_{2\times n}\} 
\hspace{15pt}小芳能帮他进行任意次如下操作:
\hspace{23pt} \bullet 选择一个首尾元素相等的区间 \left[l,r\right]\left(1 \leqq l < r \leqq 2\times n;\ a_{l} = a_{r}\right) ,将 a_{l},a_{l+ 1},...,a_{r} 这段元素删除,并将其余元素按现有顺序拼接起来。
\hspace{15pt}小红想知道,在可以进行任意次上述操作的情况下,能否将双排列中的所有数删除。

【名词解释】
\hspace{15pt}双排列:长度为 2\times n 的双排列为两个长度为 n 的排列打乱顺序后得到的数组。
\hspace{15pt}排列:长度为 n 的排列是由 1,2,\dots,nn 个整数、按任意顺序组成的数组(每个整数均恰好出现一次)。例如,\{2,3,1,5,4\} 是一个长度为 5 的排列,而 \{1,2,2\}\{1,3,4\} 都不是排列,因为前者存在重复元素,后者包含了超出范围的数。

输入描述:

\hspace{15pt}每个测试文件均包含多组测试数据。第一行输入一个整数 T\left(1\leqq T\leqq 10^4\right) 代表数据组数,每组测试数据描述如下:
\hspace{15pt}第一行输入一个整数 n\left( 1\leqq n \leqq 2\times 10^{5}\right)
\hspace{15pt}第二行输入 2 \times n 个整数 a_{1},a_{2},...,a_{2\times n}\left(1 \leqq a_{i} \leqq n\right),表示双排列的元素。保证其是一个合法的双排列。

\hspace{15pt}保证所有数据的 n 之和不超过 2\times 10^6 。

输出描述:

\hspace{15pt}对于每一组测试数据,新起一行。如果可以,输出 \text{Yes},否则输出 \text{No}
示例1

输入

复制
2
3
1 2 3 1 2 3
3
1 2 3 3 2 1

输出

复制
No
Yes

说明

对于第二组数据,选择区间 \left[1, 6\right] 即可。