AT_ttpc2024_2_k 01 Abs Sum

题目描述

给定一个长度为 $N$ 的数列 $A=(A_1, A_2, \cdots, A_N)$,其中每个元素是 $0$、$1$ 或 $-1$。 将数列 $A$ 中的 $-1$ 以 $0$ 或 $1$ 替换,有 $2^q$ 种替换方式,其中 $q$ 是数列中 $-1$ 的数量。我们需要在所有替换方案中选出同时含有 $0$ 和 $1$ 的数列,并对每个数列求解如下问题,然后取其结果之和对 $998244353$ 取模。 > 在数列 $A$ 中,$0$ 和 $1$ 的个数分别为 $\alpha$ 和 $\beta$。 > 将数列中等于 $0$ 的元素下标按从小到大排列,记为序列 $X=(X_0, X_1, \cdots, X_{\alpha-1})$。 > 同样,将数列中等于 $1$ 的元素下标按从小到大排列,记为序列 $Y=(Y_0, Y_1, \cdots, Y_{\beta-1})$(请注意 $X$ 和 $Y$ 的下标均从 $0$ 开始)。 > > 请计算: > > $$\sum_{i=0}^{\mathrm{LCM}(\alpha, \beta)-1} |X_{(i \bmod \alpha)} - Y_{(i \bmod \beta)}|$$ 其中,$\mathrm{LCM}(x, y)$代表$x$和$y$的最小公倍数,$x \bmod y$表示$x$除以$y$的余数。

输入格式

输入为一行,包含以下内容: > $N$ $A_1$ $A_2$ $\cdots$ $A_N$

输出格式

输出结果对$998244353$取模的值。

说明/提示

- 输入值均为整数。 - $2 \leq N \leq 2250$ - $A_i$ 的取值为 $0$、$1$ 或 $-1$($i=1, 2, \cdots, N$)。 ### 部分分数 如果能正确解决满足 $N \leq 100$ 限制条件的数据集,可以获得 $30$ 分。 ### 样例解释 1 对于数列 $A=(1, 1, 0, 0)$,计算得 $|3-1| + |4-2| = 4$。 对于数列 $A=(1, 1, 0, 1)$,计算得 $|3-1| + |3-2| + |3-4| = 4$。 对于数列 $A=(1, 1, 1, 0)$,计算得 $|4-1| + |4-2| + |4-3| = 6$。 因此,总和为 $4 + 4 + 6 = 14$。 ### 样例解释 2 如果不能构造出同时包含 $0$ 和 $1$ 的数列,则答案为 $0$。 **本翻译由 AI 自动生成**