luogu#P3989. [SHOI2013] 阶乘字符串

[SHOI2013] 阶乘字符串

题目背景

shoi2013d1t2

(本题卡常数注意)

题目描述

给定一个由前 nn 个小写字母组成的串 SS。串 SS 是阶乘字符串当且仅当前 nn 个小写字母的全排列(共 n!n! 种)都作为的子序列(可以不连续)出现。

由这个定义出发,可以得到一个简单的枚举法去验证,但是它实在太慢了。所以现在请你设计一个算法,在 11 秒内判断出给定的串是否是阶乘字符串。

输入格式

输入第 11 行一个整数 TT,表示这个文件中会有 TT 组数据。

接下来分 TT 个块,每块 22 行:

  • 11 行一个正整数 nn,表示 SS 由前 nn 个小写字母组成。
  • 22 行一个字符串 ss

输出格式

对于每组数据,分别输出一行。每行是 YES 或者 NO,表示该数据对应的串 SS 是否是阶乘字符串。

2
2
bbaa
2
aba
NO
YES

提示

第一组数据中,ab 这个串没有作为子序列出现。