ARC221A 学习笔记
又是要上课打不了啊。。。
一句话题意:给定正整数 \(n,a,b,c,d\),求
\[S=\sum_{i=1}^n \gcd(ai+b,ci+d)
\]
的值。
由于
\[\gcd(x,y)=\sum_{d \mid \gcd(x,y)} \varphi(d)
\]
从而原式可转化为
\[S = \sum_{d\ge 1} \varphi(d)\cdot \#\{1\le i\le n : d\mid ai+b,\; d\mid ci+d\}
\]
由于 \(d\) 同时整除 \(ai+b\) 和 \(ci+d\),则根据裴蜀定理相关结论,\(d\) 也整除其线性组合,即
\[d \mid c(ai+b)-a(ci+d)=bc-ad
\]
记 \(k=bc-ad\),则 \(d \mid k\)。
对于 \(k=0\) 的情况,即 \(bc=ad\),记 \(g=\gcd(a,c),\ a'=\frac ag,\ c'=\frac cg\),且 \(\exists t\),使得 \(b=a't,\ d=c't\),此时 \(\gcd(a',c')=1\),于是
\[ai+b=a'gi+a't=a'(gi+t)
\]
\[ci+d=c'gi+c't=c'(gi+t)
\]
从而
\[\gcd(ai+b,ci+d)=gi+t
\]
因此
\[S=\sum_{i=1}^n (gi+t)=\frac12 gn(n+1)+tn
\]
对于 \(k \ne 0\) 的情况,记 \(k_0=|k|\),考虑直接枚举 \(k_0\) 的正因子 \(d\),计算满足条件的 \(i\) 的个数 \(f(d)\),则
\[S=\sum_{d \mid k_0} \varphi(d) f(d)
\]
接下来考虑如何计算 \(f(d)\),注意到 \(f(d)\) 即为同余方程组
\[\begin{cases}
ai+b \equiv 0 \pmod d\\
ci+d \equiv 0 \pmod d
\end{cases}
\]
在区间 \([1,n]\) 上的解的个数,记 \(g_1=\gcd(a,d)\),若 \(g_1 \nmid b\) 则必然无解,否则我们设 \(a_1=\frac a{g_1},\ b_1=\frac b{g_1},\ d_1=\frac d{g_1}\),则第一个方程可等价于
\[i \equiv -b_1 \cdot a_1^{-1} \pmod d
\]
记 \(i_0=-b_1 \cdot a_1^{-1}\),则 \(i=i_0+td\),代入第二个方程,并记 \(g_2=\gcd(c, g_1)\),可知 \(t\) 满足一个线性同余式,从而 \(t \equiv t_0 \pmod {g_1/g_2}\),于是
\[i=i_0+d_1t_0+\frac{td}{g_3},\ k \in \mathbb{Z}
\]
则在 \([1,n]\) 中解的个数显然为
\[f(d)=
\begin{cases}
\lfloor n/l \rfloor & r=0\\
\lfloor (n - r) / l \rfloor & r \in (0, n]\\
0 & r>n
\end{cases}
\]

浙公网安备 33010602011771号