#ATarc136f. [ARC136F] Flip Cells

[ARC136F] Flip Cells

题目描述

有一个由 HHWW 列组成的棋盘,每个格子上写有 01。棋盘的状态由 HH 个字符串 S1,S2,,SHS_1,S_2,\cdots,S_H 表示,第 ii 个字符串 SiS_i 的第 jj 个字符表示从上往下第 ii 行、从左往右第 jj 列的格子上的数字。

すぬけ君将不断重复以下操作:

  • 均匀随机选择一个格子,然后将该格子上的值 flip(即,如果是 0 就变成 1,如果是 1 就变成 0)。

另外,すぬけ君非常喜欢整数列 A=(A1,A2,,AH)A=(A_1,A_2,\cdots,A_H)。因此,一旦满足以下条件,他就会停止操作:

  • 对于所有 ii1iH1\leq i\leq H),第 ii 行中 1 的个数恰好为 AiA_i

特别地,也有可能一次操作都不进行。

请你求出すぬけ君所需操作次数的期望值,结果对 998244353998244353 取模。

期望值 mod 998244353\bmod\ 998244353 的定义
可以证明,所求的期望值一定是有理数。在本题的约束下,将其表示为最简分数 PQ\frac{P}{Q} 时,Q≢0(mod998244353)Q\not\equiv 0\pmod{998244353} 也成立。因此,存在唯一的整数 RR 满足 $R\times Q\equiv P\pmod{998244353},\ 0\leq R<998244353$。请输出这个 RR

输入格式

输入按以下格式从标准输入读入。

HH WW
S1S_1
S2S_2
\vdots
SHS_H
A1A_1 A2A_2 \cdots AHA_H

输出格式

请输出答案。

样例 1

输入

1 2
01
0

输出

3

样例 2

输入

3 3
000
100
110
0 1 2

输出

0

样例 3

输入

2 2
00
01
1 0

输出

332748127

样例 4

输入

5 4
1101
0000
0010
0100
1111
1 3 3 2 1

输出

647836743

说明/提示

约束条件

  • 1H,W501\leq H,W\leq 50
  • SiS_i 是由 01 组成的长度为 WW 的字符串
  • 0AiW0\leq A_i\leq W

样例解释 1

操作过程如下:

  • 以概率 1/21/2 flip 一个写有 1 的格子。第 11 行中 1 的个数变为 00,操作结束。
  • 以概率 1/21/2 flip 一个写有 0 的格子。第 11 行中 1 的个数变为 22,操作继续。
  • 无论 flip 哪个格子,第 11 行中 1 的个数都会变为 11,操作继续。
  • 以概率 1/21/2 flip 一个写有 1 的格子。第 11 行中 1 的个数变为 00,操作结束。
  • 以概率 1/21/2 flip 一个写有 0 的格子。第 11 行中 1 的个数变为 22,操作继续。
  • \vdots
  • 操作次数的期望值为 33

由 ChatGPT 4.1 翻译