问题 6194 --回文字符串

6194: 回文字符串

时间限制: 1 Sec  内存限制: 128 MB
提交: 70  解决: 46
[提交][状态][命题人:]

题目描述

给定一个长度为n的字符串s(全部由小写字母组成)和一个整数k

您需要判定是否可以从字符串s中删除恰好k个字符,从而使剩余的字符进行重新排列后构成回文字符串。请注意,您可以以任何方式对剩余字符重新排列。

定义:回文字符串是指一个从前向后读和从后向前读完全相同的字符串(即是前后对称的)。例如,字符串"z" "aaa" "aba" "abccba"都是回文字符串,而字符串"codeforces" "reality""ab"则都不是回文字符串。

输入

      第一行一个整数t(1≤t≤10000):测试用例数;

      接下来共2t行,每个测试用例两行:

第一行两个整数nk0≤k<n≤1e5):n为字符串的长度,k为需要删除的字符个数;

第二行为一个长度为n的字符串s(全部由小写字母组成);

测试数据确保,所有测试数据的n之和不超过2e5;

输出

        输出共t行,每个测试用例一行:“YES”或者“NO”。如果从字符串s中删除k个字符,剩下的字符进行重新排列后可以构成回文字符串,则输出“YES”,否则输出“NO”;
样例输入
Copy
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
样例输出
Copy
YES
NO
YES
YES
YES
YES
NO
NO
YES
YES
YES
YES
NO
YES

提示

来源

 

[提交][状态]