T664869 粒子对撞

题目描述

小L 在一个横向加速器里从左到右依次放置了 n 个粒子,第 z 个粒子被设置成向左或者向右发射。 当两个粒子相撞时,有 $\frac{x}{y}$ 的概率左边的粒子被撞碎,有 $1-\frac{x}{y}$ 的概率右边的粒子被撞碎,剩下的那个粒子会沿着原方向继续移动。 设最终有 a 个粒子从加速器左端射出,有 b 个粒子从加速器右端射出的概率为 $p_{a, b}$ , 请求出下面式子的值: $$\sum_{a=0}^{n} \sum_{b=0}^{n} p_{a, b} f_{a} g_{b}$$ 其中 $f,g$ 是两个输入的数组。 请求出该值对 $10^9+7$ 取模的结果。

输入格式

第一行三个整数 $n,x,y$ 。 第二行 $n+1$ 个整数代表 $f_{0}, f_{1}, ... f_{n}$ 。 第三行 $n+1$ 个整数代表 $g_{0}, g_{1}, ... g_{n}$ 。 第四行一个长度为 $n$ 的,只包含$L$ 和$R$ 的字符串,分别代表第$i$ 个粒子被设置成向左还是向右。

输出格式

一个整数代表要求的值。

说明/提示

## 样例1解释 有三种情况: - 只有粒子3 从左边射出,概率为 $p_{1,0}=\frac{1}{4}$ 。 - 只有粒子1 从右边射出,概率为 $p_{0,1}=\frac{1}{4}$ 。 - 粒子1, 2 都从右边射出,概率为 $p_{0,2}=\frac{1}{2}$ 。 因此答案为 $p_{1,0} ×0 ×1+p_{0,1} ×1 ×1+p_{0,2} ×1 ×0=\frac{1}{4} \equiv 250000002(\bmod 10^{9}+7)$ 。 ## 数据范围 - 对于15% 的数据, $n ≤10$ 。 - 对于30% 的数据, $n ≤20$ 。 - 对于45% 的数据, $n ≤50$ 。 - 对于60% 的数据, $n ≤800$ 。 - 对于另外20% 的数据, $s_{i}$ 里$R$ 构成了一个前缀。 - 对于100% 的数据, $1 ≤n ≤5000$ , $0 ≤f_{i}$ , $g_{i} ≤10^{8}$ , $1 ≤x ≤y ≤10^{8}$ 。