问题 D: 蛋糕,I like!

问题 D: 蛋糕,I like!

时间限制: 1 Sec  内存限制: 128 MB
提交: 74  解决: 12
[状态] [讨论版] [提交] [命题人:]
题目描述
小A和她的好朋友们正在坐在一张圆桌聚餐,她们总共N个人,按逆时针顺序编号为1至N。桌子上有N块小蛋糕,编号从1到N,每对相邻的人中间有一块小蛋糕。在第i人(1≤i≤N)的左边是第i块蛋糕,右边是第i+1块蛋糕,(此外,第N+1块蛋糕指的是第1块蛋糕。)
但是呢,他们不想要过于随意,所以他们对于怎么拿蛋糕制定了特殊的规定:         
        他们会按照给出的排列组合(P1,...,Pn)的顺序进行行动。
此时,轮到了第Pi个人:
        若她的两边都还有小蛋糕,若她是左撇子,则她会拿她左手边的蛋糕,若她是右撇子,则拿右手边的蛋糕;
        若只有一边还有小蛋糕,则不论她是左撇子还是右撇子,只能拿这一边的小蛋糕。
此外,还给出了一个长度为 N 的字符串 S ,由 L、R 和 ? 组成。在 2N种可能的惯用手组合中,求有多少种满足以下所有条件,模数为 998244353 :
· 如果 S 的 i个字符是 "L",那么 i 是左撇子。
· 如果 S 的第 i 个字符是 "R",那么 i 就是右撇子。
· 当所有人都行动完后,每个人都拿了一个蛋糕。
输入
第一行一个正整数N。(2≤N≤2×105)
第二行是1到N的一个排列(P1,...,Pn)
第三行是长度为N的字符串,只由L,R,?组成。
输出
输出满足要求的组合个数,并取模。
样例输入 Copy
3
1 2 3
L??
样例输出 Copy
2
提示
样例中的两种可能的组合为LLR,LLL。