ARC166E Fizz Buzz Difference

发布时间 2023-10-10 09:10:35作者: 275307894a

题面传送门

首先一个观察是随着 \(n\) 的增大,最长的区间肯定是增大的,因此可以直接把等式放缩成 \(\leq n\)

另一个观察使为了使区间长度最大,左右端点肯定是顶着两个 \(a\) 的,不妨设其为 \(al+1\)\(ar-1\)

\(a,b\) 先搞成互质的,那么现在的问题是我们需要最大化区间内 \(a\) 的个数,也即最大化 \(b\) 的个数。如果 \(al+1\) 位置恰好是一个 \(b\),那么这样是最优的,而根据裴蜀定理这是一定可以取到的,所以可以用 exgcd 解出一组最大 \(r-l\)\(l,r\)

然后我们需要使 \(l\) 最小。因为 \((b-(al+1))\bmod b\) 可以看成前面空着的,因此可以列出 \(al\bmod b\geq w\) 的不等式,这个不等式可以用类欧去找到最小的 \(l\)不想写类欧去 jiangly 那里贺了一个(

时间复杂度 \(O(T\log a)\)

submission