atcoder#ARC136F. [ARC136F] Flip Cells
[ARC136F] Flip Cells
题目描述
行 列からなる盤面があり,各マスには 0
か 1
が書き込まれています. 盤面の状態は 個の文字列 で表され, の 文字目が,上から 行目,左から 列目のマスに書かれている数字を表します.
すぬけくんはこれから,次の操作を繰り返します.
- 一つのマス目を一様ランダムに選ぶ. そして,そのマス目に書かれている値を flip する.(つまり,
0
ならば1
に変え,1
ならば0
に変える)
ところで,すぬけ君は整数列 が大好きです. そのため,以下の条件が満たされた瞬間,操作を終了します.
- すべての () について, 行目にある
1
の個数がちょうど である.
特に,操作を 回しか行わないこともありえます.
すぬけくんが行う操作回数の期待値を で求めてください.
期待値 の定義 求める期待値は必ず有理数になることが証明できます。 また、この問題の制約のもとでは、その値を既約分数 で表した時、 となることも証明できます。 よって、$ R\ \times\ Q\ \equiv\ P\ \pmod{998244353},\ 0\ \leq\ R\ <\ 998244353 $ を満たす整数 が一意に定まります。 この を答えてください。
输入格式
入力は以下の形式で標準入力から与えられる.
输出格式
答えを出力せよ.
题目大意
有一个 行 列的棋盘,每个格子内都有一个为 或 的数字。棋盘的初始状态由 个长为 的只包含 0
和 1
的字符串 给定, 的第 个字符表示棋盘上从上往下第 行、从左往右第 列的数字。
给定长为 的序列 ,Sunke 会重复以下的操作直到对所有 有从上往下第 行中 的数量恰为 。
- 随机选择一个格子,翻转该格子中的数( 变为 , 变为 )。
请求出 Snuke 执行操作次数的期望在模 意义下的值。
1 2
01
0
3
3 3
000
100
110
0 1 2
0
2 2
00
01
1 0
332748127
5 4
1101
0000
0010
0100
1111
1 3 3 2 1
647836743
提示
制約
- は
0
,1
からなる長さ の文字列
Sample Explanation 1
操作の様子は以下のようになります. - 確率 で 1
の書かれたマスを flip する. 行目にある 1
の個数が になり,操作が終了する. - 確率 で 0
の書かれたマスを flip する. 行目にある 1
の個数は になり,操作は継続する. - いずれかのマスを flip する.flip したマスに依らず, 行目にある 1
の個数は になり,操作は継続する. - 確率 で 1
の書かれたマスを flip する. 行目にある 1
の個数が になり,操作が終了する. - 確率 で 0
の書かれたマスを flip する. 行目にある 1
の個数は になり,操作は継続する. - 操作回数の期待値は になります.