#P5644. 覆盖的串
覆盖的串
Description
我们称一个字符串A覆盖了一个字符串B当且仅当对于B中的每一个字符,都有一个包含它的和A相同的子串。
例如,A={1,2,1}覆盖了B={1,2,1,2,1,1,2,1}。
所谓的最短覆盖子串,指的是覆盖该串的最短子串。
例如B的最短覆盖子串为A,长度为3。
最短覆盖前缀数组指的是对于一个串的每一个前缀,它们的最短覆盖子串长度按顺序组成的数组。
例如B的最短覆盖前缀数组为{1,2,3,2,3,6,7,3}。
现在给你一个最短覆盖前缀数组,判断是否存在某个串符合条件,如果存在则给出一组解。
Format
Input
第一行一个整数t表示数据组数。 每组数据两行,第一行为一个整数n表示最短覆盖前缀数组长度,也即原串长。 第二行n个整数表示最短覆盖前缀数组。 对于100%的数据满足所有数据的n之和不超过500,000且t<=10
Output
每组数据输出一行。 如果存在一个满足条件的串,输出一行"Yes",否则只需输出一行"No"。
Samples
4
8
1 2 3 2 3 6 7 3
5
1 1 1 1 1
3
1 2 2
7
1 2 3 4 5 6 7
Yes
Yes
No
Yes