blog。可能是很簡單的,但是我實在是不會這種神秘題 /ll /ll。
- Conclusion1. 記 \(d=a_n-a_1\),則極差始終等於 \(d\)。證明顯然。
- Conclusion2. 操作極值時,最小值始終變化為 \(d\),並且可以進行無限次這樣的變化。證明顯然。
題意轉變:最小化 \((\texttt{最小值} \bmod d)\),且最小值始終非負,輸出這個值 \(+d\)。
由 Conclusion2,可以透過提前加上充分多個 \(d\) 來避免負數的問題。
題意轉變:最小化 \((\texttt{最小值} \bmod d)\),輸出這個值 \(+d\)。
操作 \(x\) 可以使 \(a_1\to 2x-a_1\),即 \(a_1\) 加上了 \(2(x-a_1)\),再操作下原本的 \(a_n\) 就可以使最小值加上 \(2(x-a_1)\)。
同理,我們也可以使最小值減去 \(2(x-a_1)\)。於是我們有:
- Conclusion3. 最小值可以任意加減 \(2(a_i-a_1)\) 無限次。
由裴蜀定理,線性組合這些東西,可以使最小值任意加減 \(g=\gcd\{d, 2(a_2-a_1), 2(a_3-a_1), \cdots, 2(a_n-a_1)\}\) 次,答案即 \((a_1\bmod g) + d\)。模擬即可。\(O(n)\)。