AT_2_ttpc2024_2_k.01 Abs Sum
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定一个长度为 N 的数列 A=(A1,A2,⋯,AN),其中每个元素是 0、1 或 −1。
将数列 A 中的 −1 以 0 或 1 替换,有 2q 种替换方式,其中 q 是数列中 −1 的数量。我们需要在所有替换方案中选出同时含有 0 和 1 的数列,并对每个数列求解如下问题,然后取其结果之和对 998244353 取模。
在数列 A 中,0 和 1 的个数分别为 α 和 β。
将数列中等于 0 的元素下标按从小到大排列,记为序列 X=(X0,X1,⋯,Xα−1)。
同样,将数列中等于 1 的元素下标按从小到大排列,记为序列 Y=(Y0,Y1,⋯,Yβ−1)(请注意 X 和 Y 的下标均从 0 开始)。请计算:
i=0∑LCM(α,β)−1∣X(imodα)−Y(imodβ)∣
其中,LCM(x,y)代表x和y的最小公倍数,xmody表示x除以y的余数。
输入格式
输入为一行,包含以下内容:
N A1 A2 ⋯ AN
输出格式
输出结果对998244353取模的值。
输入输出样例
输入#1
4 1 1 -1 -1
输出#1
14
输入#2
3 0 0 0
输出#2
0
输入#3
10 -1 -1 0 -1 -1 1 -1 -1 -1 -1
输出#3
10152
说明/提示
- 输入值均为整数。
- 2≤N≤2250
- Ai 的取值为 0、1 或 −1(i=1,2,⋯,N)。
部分分数
如果能正确解决满足 N≤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 自动生成
输入解题思路,AI测评打分。不知道怎么写?