AT_arc184_e [ARC184E] Accumulating Many Times
题目描述
给定 $N$ 个长度为 $M$ 的整数序列,每个序列的元素是 $0$ 或 $1$。第 $i$ 个序列记为 $A_i = (A_{i,1}, A_{i,2}, \dots, A_{i,M})$。
我们定义一个函数 $f(i, j)$,用于两个序列 $A_i$ 和 $A_j$ 之间的运算:
- $f(i, j)$ 是最小的非负整数 $x$,满足将 $A_i$ 进行以下操作 $x$ 次后,可以使得 $A_i$ 和 $A_j$ 相等。如果没有这样的 $x$ 能够满足条件,则 $f(i, j) = 0$。
- 具体操作是:对于每个整数 $k\ (1 \leq k \leq M)$,同时将 $A_{i,k}$ 替换为 $\left( \sum_{l=1}^{k} A_{i,l} \right) \bmod 2$。
要求计算并输出 $\sum_{i=1}^{N} \sum_{j=i}^{N} f(i, j)$,结果需要对 $998244353$ 取模。
输入格式
无
输出格式
无
说明/提示
- $1 \leq N \times M \leq 10^6$
- 对任意整数 $A_{i,j}$,都有 $A_{i,j} \in \{0, 1\}$
### 示例说明
例如,$f(1, 1) = 0$,$f(1, 2) = 3$,$f(1, 3) = 2$,$f(1, 4) = 0$,$f(2, 2) = 0$,$f(2, 3) = 3$,$f(2, 4) = 0$,$f(3, 3) = 0$,$f(3, 4) = 0$,$f(4, 4) = 0$。因此,这些值的总和为 $8$。
**本翻译由 AI 自动生成**