P10136-USACO24JAN-Cowlendar-S
题意
给出 \(a_{1, \ldots ,n}\),求出所有合法的 \(L\) 之和,满足
- \(\forall a_i,4L\le a_i\)
- \(|\{ a_i \bmod L \}|\le 3\)
\(a_i\le 4\times 10^9,n\le 10^4\)
思路
条件一是 \(L\in [1,\left\lfloor \frac{\min a_i}{4} \right\rfloor]\)。关键是条件 \(2\)。首先先对 \(a\) 去个重。然后我们考虑 \(a_i \equiv a_j \pmod L\),即 \(a_i-a_j\equiv 0 \pmod L\)。也就是 \(L\) 要是这两个数之差的因数。
但是我们要考虑这个不同的模数最多三种,所以前 \(4\) 个数的余数一定有一对相同。即 \(L\) 一定是前四对数之差的因数之一,枚举一下即可。

浙公网安备 33010602011771号