#P17264. [2025年南开中学集训]猫猫合照

[2025年南开中学集训]猫猫合照

题目描述

2n2n 只小猫排成一列,且恰有 nn 只小猫是小白猫,nn 只小猫是小黑猫。给出一个字符串 SS,如果 SS 的第 ii 个字符是 W,则编号为 ii 的小猫是小白猫;如果 SS 的第 ii 个字符是 B,则编号为 ii 的小猫是小黑猫。

现在,摄影师绮良良要给这些小猫要拍 kk 张合照。但是凹造型是很累的!所以每只小猫只会参与一张照片的拍摄。另外,为了照片的美观,每张照片必须满足以下条件:

  • 至少有一只小猫。

  • 小白猫和小黑猫的数量相等。

  • 所有的小白猫必须站在小黑猫的左边。

绮良良想找到一种方案,安排每只小猫拍摄某张照片,满足以上所有条件。但这可能无法实现,所以绮良良可以多次交换相邻两只小猫的位置,使得存在一种方案满足条件。

绮良良和小猫们的时间都非常宝贵,所以她们希望能最小化交换次数。不过这样的问题对小猫来说还是太难了,请你帮帮她们吧!

输入格式

第一行两个整数 nnkk,表示小白猫和小黑猫的数量和合照的数量。

第二行一个字符串 SS,表示每只小猫是小白猫还是小黑猫。

输出格式

一行一个整数,表示绮良良需要执行的最小操作数。

输入输出样例

输入 #1

5 2
WWBWBWBBWB

输出 #1

2

输入 #2

5 3
WWBWBWBBWB

输出 #2

0

输入 #3

3 1
BBBWWW

输出 #3

9

输入 #4

10 3
WBWBBBBWBBWBWBWBWWWW

输出 #4

37

说明/提示

样例 #1 解释

绮良良可以进行如下操作:

  1. 交换第 3 只和第 4 只小猫,交换后: WWWBBWBBWB
  2. 交换第 8 只和第 9 只小猫,交换后: WWWBBWBWBB

操作完成后,绮良良可以按如下方式安排合照:

  • 第 1, 2, 3, 4, 5, 7 只小猫拍摄第一张照片;
  • 第 6, 8, 9, 10 只小猫拍摄第二张照片。

这种安排方式满足条件。若操作次数少于 2 次,则不存在满足条件的安排方式。因此输出 2。

该组样例满足子任务 1 的限制。

样例 #2 解释

不进行任何操作时,绮良良可以按如下方式安排合照:

  • 第 1, 2, 3, 5 只小猫拍摄第一张照片;
  • 第 4, 6, 7, 8 只小猫拍摄第二张照片;
  • 第 9, 10 只小猫拍摄第三张照片。

这种安排方式满足条件。因此输出 0。

该组样例满足子任务 1 的限制。

样例 #3

该组样例满足子任务 1 的限制。

样例 #4

该组样例满足子任务 1 的限制。

样例 #5

见下发的 ex_photo5.in/.out

该组样例满足子任务 2 的限制。

样例 #6

见下发的 ex_photo6.in/.out

该组样例满足子任务 3 的限制。

样例 #7

见下发的 ex_photo7.in/.out

该组样例满足子任务 4 的限制。

样例 #8

见下发的 ex_photo8.in/.out

该组样例满足子任务 5 的限制。

数据范围

对于所有测试数据,满足 1n1061 \le n \le 10^61kn1 \le k \le nSS 是长度为 2n2n 的字符串,且其中字符 WB 各出现 nn 次。

子任务编号 分值 限制
11 1010 n10n \le 10
22 2020 n500n \le 500
33 n5000n \le 5000
44 n105n \le 10^5
55 3030