atcoder#ABC238H. [ABC238Ex] Removing People

[ABC238Ex] Removing People

配点 : 600600

問題文

11 から NN までの番号を付けられた NN 人の人が、人 11、人 22\cdots、人 NN の順に時計回りに円環状に等間隔に並んでいます。 それぞれの人が向いている方向は L または R のみからなる長さ NN の文字列 SS で表されます。各 i(1iN)i \, (1 \leq i \leq N) に対し、Si=S_i = L ならば人 ii は反時計回りの方向を向いており、Si=S_i = R ならば人 ii は時計回りの方向を向いています。

以下の操作を N1N-1 回繰り返します。

  • 残っている人の中から等確率で一人を選び、その人から見て一番手前にいる残っている人を円環から除く。このとき、選んだ人から除かれる人までの距離と同じだけのコストがかかる。

ここで、人 ii から人 jj (ij)(i \neq j) までの距離を以下のように定義します。

  1. ii が時計回りの方向を向いている場合- i<ji \lt j ならば jij-i
    • i>ji \gt j ならば ji+Nj-i+N
  2. ii が反時計回りの方向を向いている場合- i<ji \lt j ならば ij+Ni-j+N
    • i>ji \gt j ならば iji-j

合計コストの期待値をmod998244353\mod 998244353 で求めてください(注記参照)。

注記

求める期待値は必ず有理数となることが証明できます。またこの問題の制約下では、その値を互いに素な 22 つの整数 PP, QQ を用いて PQ\frac{P}{Q} と表したとき、R×QP(mod998244353)R \times Q \equiv P\pmod{998244353} かつ 0R<9982443530 \leq R \lt 998244353 を満たす整数 RR がただ一つ存在することが証明できます。この RR を求めてください。

制約

  • 2N3002 \leq N \leq 300
  • NN は整数
  • SSLR のみからなる長さ NN の文字列

入力

入力は以下の形式で標準入力から与えられる。

NN

SS

出力

答えを出力せよ。

3
LLR
831870297

求める期待値は 176\frac{17}{6} です。831870297×617(mod998244353)831870297 \times 6 \equiv 17\pmod{998244353} ですので、831870297831870297 を出力します。

なお、例えば以下のような操作手順が考えられます。

  1. 22 を選ぶ。人 22 から見て一番手前にいる、円環に残っている人は人 11 であるため、人 11 を円環から除く。
  2. 22 をもう一度選ぶ。人 22 から見て一番手前にいる、円環に残っている人は人 33 であるため、人 33 を円環から除く。

この操作手順における合計コストは 3(=1+2)3(=1+2) となります。

10
RRRRRRLLRR
460301586