CF2114B.Not Quite a Palindromic String
入门
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Vlad 发现了一个长度为偶数 $ n $ 的二进制字符串 $ ^{\text{∗}} $ $ s $。他认为一对索引 ( $ i, n - i + 1 $ )(其中 $ 1 \le i < n - i + 1 $)是好的,如果满足 $ s_i = s_{n - i + 1} $。
例如,在字符串 '010001' 中只有 $ 1 $ 对好的索引,因为 $ s_1 \ne s_6 , s_2 \ne s_5 $,而 $ s_3 = s_4 $。在字符串 '0101' 中没有好的索引对。
Vlad 喜欢回文串,但又不那么喜欢,所以他希望通过重新排列字符串中的某些字符,使得恰好有 $ k $ 对好的索引。
判断是否可以通过重新排列给定字符串中的字符,使得恰好有 $ k $ 对好的索引 ( $ i, n - i + 1 $ )。
$ ^{\text{∗}} $ 二进制字符串是指仅由字符 '0' 和 '1' 组成的字符串。
输入格式
第一行包含一个整数 $ t ( 1 \le t \le 10^4 $)——测试用例的数量。
每个测试用例的第一行包含两个整数 $ n $ 和 $ k ( 2 \le n \le 2 \cdot 10^5 , 0 \le k \le \frac{n}{2} , n $ 为偶数)——字符串的长度和所需的好索引对的数量。
每个测试用例的第二行包含一个长度为 $ n $ 的二进制字符串 $ s $。
保证所有测试用例的 $ n $ 之和不超过 $ 2 \cdot 10^5 $。
输出格式
对于每个测试用例,如果存在一种重新排列字符串字符的方法使得恰好有 $ k $ 对好的索引,则输出 "YES",否则输出 "NO"。
你可以以任何大小写形式输出答案(例如,"yEs"、"yes"、"Yes" 或 "YES" 都会被接受)。
输入输出样例
输入#1
6 6 2 000000 2 1 01 4 1 1011 10 2 1101011001 10 1 1101011001 2 1 11
输出#1
NO NO YES NO YES YES
输入解题思路,AI测评打分。不知道怎么写?