、

P10136-USACO24JAN-Cowlendar-S

题意

给出 \(a_{1, \ldots ,n}\),求出所有合法的 \(L\) 之和,满足

  1. \(\forall a_i,4L\le a_i\)
  2. \(|\{ 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\) 一定是前四对数之差的因数之一,枚举一下即可。

posted @ 2026-09-24 14:44  tanghg  阅读(4)  评论(0)    收藏  举报