A121002.午枫的图书馆
普及/提高-
官方
通过率:0%
时间限制:1.00s
内存限制:128MB
题目描述
小枫、小午和小安三个人在大学图书馆里学习。
图书馆里有 N 张书桌,编号为 1,2,…,N,围成一个环形排列。
每两张相邻的书桌之间有一把公共椅子,共有 N 把椅子,编号也与书桌对应:
书桌 i 和书桌 i+1 之间的椅子编号为 i(书桌 N 和书桌 1 之间的椅子编号为 N)。
有 N 个同学,按逆时针编号为 1,2,…,N,每人坐在一张书桌前。
每个同学都有一个惯用手,可能是左手(L)或右手(R),这决定了他们取用椅子时的偏好。
小午制定了一个顺序 (P1,P2,…,PN),这是 1 到 N 的一个排列。
按照这个顺序,第 Pi 个同学依次去取一把椅子:
- 如果该同学左手边或右手边的椅子还没有被人拿走,则从中取走一把。
- 如果两边都还有椅子,则取走与自己惯用手相同侧的那把。
- 如果两边都没有椅子了,则什么也不做。
小安记录下了每个同学的惯用手信息,用一个长度为 N 的字符串 S 表示:
L表示该同学必须是左撇子;R表示该同学必须是右撇子;?表示该同学的惯用手可以是左或右,没有限制。
小枫想知道:在所有 2N 种可能的惯用手组合中,有多少种组合满足以下两个条件:
- 与 S 中给定的
L/R约束一致; - 所有人操作结束后,每个同学都拿到了恰好一把椅子。
请你帮小枫算出这个数量,并对 998244353 取模。
输入格式
第一行一个整数 N。
第二行 N 个整数 P1,P2,…,PN,是 (1,…,N) 的一个排列。
第三行一个长度为 N 的字符串 S,由 L、R、? 组成。
输出格式
输出一个整数,表示满足条件的惯用手组合数,对 998244353 取模。
输入输出样例
输入#1
3 1 2 3 L??
输出#1
2
说明/提示
数据范围
对于 100% 的测试数据,满足:2≤N≤2×105,(P1,…,PN) 是 (1,…,N) 的一个排列,S 是由 L、R、? 组成的长度为 N 的字符串。