A121002.午枫的图书馆

普及/提高-

官方

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

小枫、小午和小安三个人在大学图书馆里学习。

图书馆里有 NN 张书桌,编号为 1,2,,N1, 2, \ldots, N,围成一个环形排列。
每两张相邻的书桌之间有一把公共椅子,共有 NN 把椅子,编号也与书桌对应:
书桌 ii 和书桌 i+1i+1 之间的椅子编号为 ii(书桌 NN 和书桌 11 之间的椅子编号为 NN)。

NN 个同学,按逆时针编号为 1,2,,N1, 2, \ldots, N,每人坐在一张书桌前。
每个同学都有一个惯用手,可能是左手(L)或右手(R),这决定了他们取用椅子时的偏好。

小午制定了一个顺序 (P1,P2,,PN)(P_1, P_2, \ldots, P_N),这是 11NN 的一个排列。
按照这个顺序,第 PiP_i 个同学依次去取一把椅子:

  • 如果该同学左手边或右手边的椅子还没有被人拿走,则从中取走一把。
    • 如果两边都还有椅子,则取走与自己惯用手相同侧的那把。
  • 如果两边都没有椅子了,则什么也不做。

小安记录下了每个同学的惯用手信息,用一个长度为 NN 的字符串 SS 表示:

  • L 表示该同学必须是左撇子;
  • R 表示该同学必须是右撇子;
  • ? 表示该同学的惯用手可以是左或右,没有限制。

小枫想知道:在所有 2N2^N 种可能的惯用手组合中,有多少种组合满足以下两个条件:

  1. SS 中给定的 L/R 约束一致;
  2. 所有人操作结束后,每个同学都拿到了恰好一把椅子

请你帮小枫算出这个数量,并对 998244353998244353 取模。

输入格式

第一行一个整数 NN

第二行 NN 个整数 P1,P2,,PNP_1, P_2, \ldots, P_N,是 (1,,N)(1, \ldots, N) 的一个排列。

第三行一个长度为 NN 的字符串 SS,由 LR? 组成。

输出格式

输出一个整数,表示满足条件的惯用手组合数,对 998244353998244353 取模。

输入输出样例

  • 输入#1

    3
    1 2 3
    L??

    输出#1

    2

说明/提示

数据范围

对于 100%100\% 的测试数据,满足:2N2×1052 \leq N \leq 2 \times 10^5(P1,,PN)(P_1, \ldots, P_N)(1,,N)(1, \ldots, N) 的一个排列,SS 是由 LR? 组成的长度为 NN 的字符串。

首页