给定 $F(x)=\lfloor a_1+\cfrac x{b_1}\rfloor,G(x)=\lfloor a_2+\cfrac x{b_2}\rfloor$,问 $1\sim n$ 中有多少整数 $x$ 满足 $F(x)=G(x)$。
设 $f(x)=a_1+\cfrac x{b_1},g(x)=a_2+\cfrac x{b_2}$,则有四种情况:
显然只有第 $2,3$ 中情况对答案产生贡献。不妨只考虑第 $2$ 种情况,第 $3$ 种情况类似。
首先计算出 $x$ 情况 $2$ 的区间 $[L,R]$,此时有
$$ \sum_{i=L}^R[F(i)==G(i)]=\sum_{i=L}^R(F(i)-G(i)+1)=R-L+1+\sum_{i=L}^R F(i)-\sum_{i=L}^R G(i) $$
其中 $\sum_{i=L}^R F(i),\sum_{i=L}^R G(i)$ 都可以 $O(1)$ 计算,所以总时间复杂 $O(1)$。