题目 20345

v

查看题解 ↗GitHub ↗如何评测
题号
20345
标签
比赛NOIP
来源
2018 国庆雅礼集训 10-3

v

v.cpp/in/out

  • 时间限制:3.0s
  • 空间限制:512MB

题目描述

有 nn 个球排成一行,每个球的颜色为黑或白。

执行 kk 次操作,第 i (1≤i≤k)i\ (1 \le i \le k) 次操作形式如下:

  • 从 [1,n−i+1][1, n-i+1] 中,等概率随机选择一个整数 xx。
  • 移除从左往右数的第 xx 个球,或从右往左数的第 xx 个球(也就是从左往右数的第 n−i+2−xn-i+2-x 个)。之后,所有右侧的球的编号减 1。

给定每个球的颜色信息,希望最大化移除的白球数量。

输出在最优策略下,期望的移除白球数量。误差在 10−610^{-6} 范围内,即算正确。

输入格式

从文件 v.in 中读入数据。

第一行,两个整数 n,kn, k。

第二行,一个长度为 nn、仅由 W 和 B 组成的字符串,第 ii 个字符代表第 ii 个球的颜色,W 为白色,B 为黑色。

输出格式

输出到文件 v.out 中。

输出一行,一个浮点数,代表答案。

样例 1 输入

文本
3 1
BWW

样例 1 输出

文本
1.0000000000

样例 1 解释

如果 x=1x = 1,从右侧操作,如果 x=2x = 2 或 33,从左侧操作,均可以移除一个白球。

样例 2 输入

文本
4 2
WBWB

样例 2 输出

文本
1.5000000000

数据范围

保证 1≤n≤301 \le n \le 30,0≤k≤n0 \le k \le n。

Subtask 分值 n≤n \le 其他限制
1 20 5 无
2 25 20 无
3 1 保证 k=0k = 0 或者 k=nk = n
4 1 保证字符串所有字符相同
5 19 30 保证字符串只有一个 W
6 19 保证字符串只有一个 B
7 15 无

数据下载

题目 20345 的公开数据

正在读取文件列表…

常用命令

题目 20345 的 ROJ 命令

以下命令默认使用全局安装的 ROJ Skill,请在终端中直接执行;如果修改过 AGENT_HOME,请将命令中的 ~/.agents 替换为对应目录。