#abc238h. [abc238_h]Removing People
[abc238_h]Removing People
题目描述
有个人,编号为到,站在一个圆圈上,按逆时针顺序为Person ,Person ,,Person 。每个人的面向由长度为的字符串给出。对于每个 ,如果 L
,则Person 面向顺时针方向,如果 R
,则Person 面向逆时针方向。
接下来的操作将重复次。
- 以相等的概率选择剩余的人之一,并从所选人看到的最近的人中移除,这样会产生一个与所选人到被移除人的距离相等的成本。
在这里,从Person 到Person 的距离定义如下。
- 当Person 面向顺时针方向时:
- 如果 ,则距离为;
- 如果 ,则距离为。
- 当Person 面向逆时针方向时:
- 如果 ,则距离为;
- 如果 ,则距离为。
求期望值的总成本,对取模(参见注释)。
注释
可以证明,所求期望值总是一个有理数。此外,在问题的约束条件下,当该值表示为用两个互质整数和表示的时,存在唯一的整数满足且。找到这个。
约束条件
- 为整数。
- 为长度为的字符串,由
L
和R
组成。
输入
输入的格式如下:
输出
输出答案。
示例输入1
3
LLR
示例输出1
831870297
所求期望值为。我们有,因此应该输出。
以下是一个可能的情况供您参考。
- 选择Person 。从圈中剩下的人中,Person 看到的最近的人是Person ,将其从圈中移除。
- 再次选择Person 。从圈中剩下的人中,Person 看到的最近的人是Person ,将其从圈中移除。
在这种情况下,总成本为。
示例输入2
10
RRRRRRLLRR
示例输出2
460301586