#aBC238H. [ABC238Ex] Removing People
[ABC238Ex] Removing People
AT_abc238_h [ABC238Ex] Removing People
题目描述
有 个人,编号从 到 ,他们按 的顺序顺时针等间隔地围成一个环。每个人面朝的方向由一个长度为 的仅包含 L 和 R 的字符串 给出。对于每个 ,若 ,则第 个人面朝逆时针方向;若 ,则第 个人面朝顺时针方向。
以下操作重复 次:
- 从剩下的人中等概率随机选择一人,从该人出发,移除其面朝方向上最近的剩余一人。移除时,花费的代价等于从选中人到被移除人的距离。
其中,从第 个人到第 个人()的距离定义如下:
- 若第 个人面朝顺时针方向:
- 若 ,距离为
- 若 ,距离为
- 若第 个人面朝逆时针方向:
- 若 ,距离为
- 若 ,距离为
请计算总花费的期望值,并对 取模输出(见注释)。
输入格式
输入以如下格式从标准输入读入:
输出格式
请输出答案。
输入输出样例 #1
输入 #1
3
LLR
输出 #1
831870297
输入输出样例 #2
输入 #2
10
RRRRRRLLRR
输出 #2
460301586
说明/提示
注释
可以证明,所求的期望值一定是有理数。在本题的约束下,若用互质的两个整数 、 表示为 ,则存在唯一的整数 满足 且 。请输出这个 。
约束条件
- 为整数
- 为仅包含
L和R的长度为 的字符串
样例解释 1
所求期望值为 。由于 ,所以输出 。例如,以下是一种操作顺序:
- 选择第 个人。第 个人面前最近的剩余人为第 个人,将其移除。
- 再次选择第 个人。此时第 个人面前最近的剩余人为第 个人,将其移除。
该操作顺序下的总代价为 。
由 ChatGPT 4.1 翻译