AT_arc024_3 [ARC024C] だれじゃ
题目描述
在 Takahashi 市,居民们对谐音梗情有独钟。要在这里顺利生活,你得具备较强的谐音梗能力。
当地居民有个习惯,就是用各种谐音梗来“招待”新邻居。最近,有一种名为“变位词谐音梗”的新式谐音梗非常流行。这种谐音梗要求在一句话中找到两个长度相同且没有重叠部分的字符串,其中一个字符串的字母顺序可以通过重新排列变成另一个字符串。如果两个字符串的长度是 $m$,那么我们就说这句话包含长度为 $m$ 的“变位词谐音梗”。
举个例子,在句子“だじゃれをいったのはだれじゃ”中,前 4 个字符“だじゃれ”和后 4 个字符“だれじゃ”没有重叠,并且“だじゃれ”的字符通过重新排列可以变成“だれじゃ”,所以这句话包含长度为 4 的“变位词谐音梗”。
刚刚搬到 Takahashi 市的青木君为了更好地适应生活,想提高自己的“变位词谐音梗”识别能力。然而他并不擅长寻找长度为 $K$ 的“变位词谐音梗”,于是他想通过一个文章生成软件来进行训练。然而,软件本身并没有检测是否包含长度为 $K$ 的变位词谐音梗的功能。
你需要为青木君编写一个程序,判断给定的文章中是否包含长度为 $K$ 的“变位词谐音梗”。
输入格式
输入如下所示:
```
N K S
```
- 第 1 行包含两个整数 $N$ 和 $K$,分别表示文章长度 $N$ 和要检测的“变位词谐音梗”长度 $K$。其中 $1 \le N \le 10^5$,$1 \le K \le N$。
- 第 2 行是一个长度为 $N$ 的字符串 $S$,由小写字母构成。
输出格式
若文章中包含长度为 $K$ 的“变位词谐音梗”,输出 `YES`;否则输出 `NO`。输出结果后请加换行。
说明/提示
在本问题中,数据集有不同的限制条件,符合下列条件的情况会得到对应分数:
- 满足 $N \le 8$ 的数据集 1,可得 15 分。
- 满足 $N \le 300$ 的数据集 2,除上述分数外,可再得 15 分。
- 满足 $N \le 5,000$ 的数据集 3,除上述分数外,可再得 15 分。
- 没有限制条件的数据集 4,除上述分数外,可再得 55 分。
### 样例解释 1
字符串从第 1 个字符开始的 3 个字符“abc”和从第 5 个字符开始的 3 个字符“bca”,通过重新排列可以互相转换,因此包含长度为 3 的“变位词谐音梗”。
### 样例解释 2
字符串从第 1 个字符开始的 4 个字符“abcd”和从第 4 个字符开始的 4 个字符“dcba”尽管可以通过重新排列互相转换,但是因为它们有重叠部分,所以不符合条件。其他划分方式也均不满足条件。
**本翻译由 AI 自动生成**