#P16837. [GKS 2021 #A] K-Goodness String

[GKS 2021 #A] K-Goodness String

题目描述

Charles 将一个字符串的好分数定义为满足 SiSNi+1S_i \ne S_{N-i+1} 的下标 ii 的个数,其中 1iN/21 \le i \le N/2(下标从 11 开始)。例如,字符串 CABABC 的好分数为 22,因为 S2S5S_2 \ne S_5S3S4S_3 \ne S_4

Charles 给了 Ada 一个长度为 NN 的字符串 SS(由大写字母组成),并要求她将其转换为一个好分数恰好为 KK 的字符串。在一次操作中,Ada 可以将字符串中的任意一个字符更改为任意大写字母。你能帮助 Ada 求出将给定字符串转换为好分数等于 KK 的字符串所需的最少操作次数吗?

输入格式

输入的第一行给出测试用例的数量 TT。接下来有 TT 个测试用例。

每个测试用例的第一行包含两个整数 NNKK。第二行包含一个长度为 NN 的字符串 SS,由大写字母组成。

输出格式

对于每个测试用例,输出一行,格式为 Case #x: y,其中 xx 是测试用例编号(从 11 开始),yy 是将给定字符串 SS 转换为好分数等于 KK 的字符串所需的最少操作次数。

2
5 1
ABCAA
4 2
ABAA
Case #1: 0
Case #2: 1

提示

在样例 #1 中,给定字符串已经具有好分数 11。因此所需的最少操作次数为 00

在样例 #2 中,一种方案是将下标 11 的字符改为 B,从而获得好分数 22。因此所需的最少操作次数为 11

限制条件

1T1001 \le T \le 100

0KN/20 \le K \le N/2

测试集 1

1N1001 \le N \le 100

测试集 2

最多 1010 个测试用例满足 1N2×1051 \le N \le 2 \times 10^5

其余测试用例满足 1N1001 \le N \le 100

翻译由 DeepSeek V4 Pro 完成