310788: CF1888A. Chemistry

Memory Limit:256 MB Time Limit:2 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

A. Chemistrytime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard output

You are given a string $s$ of length $n$, consisting of lowercase Latin letters, and an integer $k$.

You need to check if it is possible to remove exactly $k$ characters from the string $s$ in such a way that the remaining characters can be rearranged to form a palindrome. Note that you can reorder the remaining characters in any way.

A palindrome is a string that reads the same forwards and backwards. For example, the strings "z", "aaa", "aba", "abccba" are palindromes, while the strings "codeforces", "reality", "ab" are not.

Input

Each test consists of multiple test cases. The first line contains a single integer $t$ ($1 \leq t \leq 10^4$) — the number of the test cases. This is followed by their description.

The first line of each test case contains two integers $n$ and $k$ ($0 \leq k < n \leq 10^5$) — the length of the string $s$ and the number of characters to be deleted.

The second line of each test case contains a string $s$ of length $n$, consisting of lowercase Latin letters.

It is guaranteed that the sum of $n$ over all test cases does not exceed $2 \cdot 10^5$.

Output

For each test case, output "YES" if it is possible to remove exactly $k$ characters from the string $s$ in such a way that the remaining characters can be rearranged to form a palindrome, and "NO" otherwise.

You can output the answer in any case (uppercase or lowercase). For example, the strings "yEs", "yes", "Yes", and "YES" will be recognized as positive answers.

ExampleInput
14
1 0
a
2 0
ab
2 1
ba
3 1
abb
3 2
abc
6 2
bacacd
6 2
fagbza
6 2
zwaafa
7 2
taagaak
14 3
ttrraakkttoorr
5 3
debdb
5 4
ecadc
5 3
debca
5 3
abaac
Output
YES
NO
YES
YES
YES
YES
NO
NO
YES
YES
YES
YES
NO
YES
Note

In the first test case, nothing can be removed, and the string "a" is a palindrome.

In the second test case, nothing can be removed, but the strings "ab" and "ba" are not palindromes.

In the third test case, any character can be removed, and the resulting string will be a palindrome.

In the fourth test case, one occurrence of the character "a" can be removed, resulting in the string "bb", which is a palindrome.

In the sixth test case, one occurrence of the characters "b" and "d" can be removed, resulting in the string "acac", which can be rearranged to the string "acca".

In the ninth test case, one occurrence of the characters "t" and "k" can be removed, resulting in the string "aagaa", which is a palindrome.

Output

题目大意:
给定一个由小写拉丁字母组成的字符串 s 和一个整数 k。需要判断是否可以通过删除字符串 s 中的恰好 k 个字符,使得剩余的字符可以重新排列形成一个回文串。注意,剩余的字符可以以任何方式进行重新排列。回文串是指正读和反读都相同的字符串。

输入输出数据格式:
输入:
- 第一行包含一个整数 t(1 ≤ t ≤ 10^4),表示测试用例的数量。
- 每个测试用例包含三行:
- 第一行包含两个整数 n 和 k(0 ≤ k < n ≤ 10^5),分别表示字符串 s 的长度和需要删除的字符数量。
- 第二行包含一个长度为 n 的字符串 s,由小写拉丁字母组成。

输出:
- 对于每个测试用例,如果可以通过删除恰好 k 个字符使得剩余的字符可以重新排列形成一个回文串,则输出 "YES",否则输出 "NO"。
- 答案的输出格式不区分大小写,即 "yEs", "yes", "Yes", "YES" 都会被认为是肯定的答案。

示例:
输入:
```
14
1 0
a
2 0
ab
2 1
ba
3 1
abb
3 2
abc
6 2
bacacd
6 2
fagbza
6 2
zwaafa
7 2
taagaak
14 3
ttrraakkttoorr
5 3
debdb
5 4
ecadc
5 3
debca
5 3
abaac
```
输出:
```
YES
NO
YES
YES
YES
YES
NO
NO
YES
YES
YES
YES
NO
YES
```题目大意: 给定一个由小写拉丁字母组成的字符串 s 和一个整数 k。需要判断是否可以通过删除字符串 s 中的恰好 k 个字符,使得剩余的字符可以重新排列形成一个回文串。注意,剩余的字符可以以任何方式进行重新排列。回文串是指正读和反读都相同的字符串。 输入输出数据格式: 输入: - 第一行包含一个整数 t(1 ≤ t ≤ 10^4),表示测试用例的数量。 - 每个测试用例包含三行: - 第一行包含两个整数 n 和 k(0 ≤ k < n ≤ 10^5),分别表示字符串 s 的长度和需要删除的字符数量。 - 第二行包含一个长度为 n 的字符串 s,由小写拉丁字母组成。 输出: - 对于每个测试用例,如果可以通过删除恰好 k 个字符使得剩余的字符可以重新排列形成一个回文串,则输出 "YES",否则输出 "NO"。 - 答案的输出格式不区分大小写,即 "yEs", "yes", "Yes", "YES" 都会被认为是肯定的答案。 示例: 输入: ``` 14 1 0 a 2 0 ab 2 1 ba 3 1 abb 3 2 abc 6 2 bacacd 6 2 fagbza 6 2 zwaafa 7 2 taagaak 14 3 ttrraakkttoorr 5 3 debdb 5 4 ecadc 5 3 debca 5 3 abaac ``` 输出: ``` YES NO YES YES YES YES NO NO YES YES YES YES NO YES ```

加入题单

上一题 下一题 算法标签: