P16837 [GKS 2021 #A] K-Goodness String
题目描述
Charles 将一个字符串的**好分数**定义为满足 $S_i \ne S_{N-i+1}$ 的下标 $i$ 的个数,其中 $1 \le i \le N/2$(下标从 $1$ 开始)。例如,字符串 `CABABC` 的好分数为 $2$,因为 $S_2 \ne S_5$ 且 $S_3 \ne S_4$。
Charles 给了 Ada 一个长度为 $N$ 的字符串 $S$(由大写字母组成),并要求她将其转换为一个好分数恰好为 $K$ 的字符串。在一次操作中,Ada 可以将字符串中的任意一个字符更改为任意大写字母。你能帮助 Ada 求出将给定字符串转换为好分数等于 $K$ 的字符串所需的最少操作次数吗?
输入格式
输入的第一行给出测试用例的数量 $T$。接下来有 $T$ 个测试用例。
每个测试用例的第一行包含两个整数 $N$ 和 $K$。第二行包含一个长度为 $N$ 的字符串 $S$,由大写字母组成。
输出格式
对于每个测试用例,输出一行,格式为 `Case #x: y`,其中 $x$ 是测试用例编号(从 $1$ 开始),$y$ 是将给定字符串 $S$ 转换为好分数等于 $K$ 的字符串所需的最少操作次数。
说明/提示
在样例 #1 中,给定字符串已经具有好分数 $1$。因此所需的最少操作次数为 $0$。
在样例 #2 中,一种方案是将下标 $1$ 的字符改为 `B`,从而获得好分数 $2$。因此所需的最少操作次数为 $1$。
### 限制条件
$1 \le T \le 100$。
$0 \le K \le N/2$。
**测试集 1**
$1 \le N \le 100$。
**测试集 2**
最多 $10$ 个测试用例满足 $1 \le N \le 2 \times 10^5$。
其余测试用例满足 $1 \le N \le 100$。
翻译由 DeepSeek V4 Pro 完成