#AT2068. Ex - Removing People
Ex - Removing People
当前没有测试数据。
删除人员
分数:600
问题描述
编号为1到N的N个人围成一圈,按顺时针顺序排列在一起。每个人的朝向由长度为N的字符串S确定。对于每个i(),如果 L
,那么第i个人的朝向为逆时针方向;如果 R
,那么第i个人的朝向为顺时针方向。接下来的操作将重复N-1次。
- 以等概率选择剩余的人中的一个,并从它所看到的最近的人中将其删除。这次操作的成本等于从选择的人到被删除的人的距离。
这里,第i个人到第j个人之间的距离()定义如下:
-
当第i个人的朝向为顺时针方向时:
- 如果,那么距离为;
- 如果,那么距离为。
-
当第i个人的朝向为逆时针方向时:
- 如果,那么距离为;
- 如果,那么距离为。
求总成本的期望值,对取模。
注意事项
可以证明,所求的期望值总是一个有理数。另外,在此问题的约束条件下,当期望值表示为两个互质整数和的比值时,存在一个唯一的整数满足且。找出这个。
约束条件
- 是一个整数。
- 是一个长度为的字符串,由字符
L
和R
组成。
输入
从标准输入中按以下格式给出输入:
输出
打印答案。
输入样例1
3
LLR
输出样例1
831870297
所求的期望值是。我们有,所以应该打印出。
供参考的一种可能的情况如下:
- 选择第2个人。从第2个人所看到的剩余圈子中,最近的人是第1个人,将其从圈子中删除。
- 再次选择第2个人。从第2个人所看到的剩余圈子中,最近的人是第3个人,将其从圈子中删除。
在这种情况下,总成本为3(等于1+2)。
输入样例2
10
RRRRRRLLRR
输出样例2
460301586