#luoguP3989. [SHOI2013] 阶乘字符串

[SHOI2013] 阶乘字符串

Cannot parse: (0 , import_utils.normalizeSubtasks) is not a function or its return value is not iterable

题目背景

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 这个串没有作为子序列出现。