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测评打分。不知道怎么写?

首页