CF1618E 题解

Running_a_way

2024-11-17 15:40:54

Solution

萌萌推式子题。

因为 a 序列的每一项对 b 序列的贡献是等差数列,我们考虑对 b 求一下差分。

根据定义,有

b_i - b_{i-1} = \sum_{j=1}^n{[j\neq i]a_j} + (1-n)a_i

于是要是我们再知道 \sum_{i=1}^{n} a_i,就可以解个方程把 a_i 算出来了。

考虑将所有的 b_i 相加,有:

\sum_{i=1}^n b_i = \frac{n(n+1)}{2} \cdot \sum_{i=1}^n a_i

除一下就可以算出所有 a_i 的和了。然后枚举一下,把每个 a_i 算出来就做完了。

注意判断除法是不是整除,以及每个解是否为正数什么的。