总结:最大公约数求和
总结:最大公约数求和
同类题目
题目形式
求:
\[\sum_{i=1}^n\sum_{j=1}^mgcd(i,j)
\]
解题方法
#1:莫比乌斯函数性质
莫比乌斯函数具有如下性质:
\[\sum_{d|n}\mu(d)=[n=1]
\]
证明:
设 \(n=\prod_{i=1}^{k}p_i^{c_i}\)
设 \(n'=\prod_{i=1}^{k}p_i\)\[\sum_{d|n}\mu(d)=\sum_{d|n'}\mu(d)=\sum_{i=0}^{k}{k\choose i}(-1)^i=(1+(-1))^k=0^k \]最后一步由二项式定理得。
注意到当 \(k=0\) 时结果为 \(1\) ,即 \(n=1\) 时。
有了这个性质,我们考虑对原问题进行数论变换:
\[\sum_{i=1}^n\sum_{j=1}^mgcd(i,j)
\]
\[=\sum_{i=1}^n\sum_{j=1}^m\sum_{k=1}^{min(n,m)}k\cdot[gcd(i,j)=k]
\]
\[=\sum_{k=1}^{min(n,m)}k\sum_{i=1}^n\sum_{j=1}^m[gcd(i,j)=k]
\]
\[=\sum_{k=1}^{min(n,m)}k\sum_{i=1}^{\lfloor\frac{n}{k}\rfloor}\sum_{j=1}^{\lfloor\frac{m}{k}\rfloor}[gcd(ik,jk)=k]
\]
\[=\sum_{k=1}^{min(n,m)}k\sum_{i=1}^{\lfloor\frac{n}{k}\rfloor}\sum_{j=1}^{\lfloor\frac{m}{k}\rfloor}[gcd(i,j)=1]
\]
\[=\sum_{k=1}^{min(n,m)}k\sum_{i=1}^{\lfloor\frac{n}{k}\rfloor}\sum_{j=1}^{\lfloor\frac{m}{k}\rfloor}\sum_{d|gcd(i,j)}\mu(d)
\]
\[=\sum_{k=1}^{min(n,m)}k\sum_{d=1}^{\lfloor\frac{min(n,m)}{k}\rfloor}\mu(d)\sum_{i=1}^{\lfloor\frac{n}{k}\rfloor}[d|i]\sum_{j=1}^{\lfloor\frac{m}{k}\rfloor}[d|j]
\]
\[=\sum_{k=1}^{min(n,m)}k\sum_{d=1}^{\lfloor\frac{min(n,m)}{k}\rfloor}\mu(d)\lfloor\frac{n}{kd}\rfloor\lfloor\frac{m}{kd}\rfloor
\]
最后结论:
\[\sum_{i=1}^n\sum_{j=1}^mgcd(i,j)=\sum_{k=1}^{min(n,m)}k\sum_{d=1}^{\lfloor\frac{min(n,m)}{k}\rfloor}\mu(d)\lfloor\frac{n}{kd}\rfloor\lfloor\frac{m}{kd}\rfloor
\]
线性筛预处理出 \(1\sim min(n,m)\) 的 \(\mu\) 函数的值然后直接算就 OK 了。
#2:欧拉函数性质
欧拉函数具有如下性质:
\[n=\sum_{d|n}\varphi(d)
\]
证明:
利用狄利克雷卷积知识,即证明:\[id=\varphi*1 \]设 \(n=\prod_{i=1}^{k}p_i^{c_i}\)
设 \(n'=p^c\)
因为 \(\varphi\) 为积性函数,故只需证明此结论对于 \(n'\) 成立即可。\[(\varphi*1)(n')=\sum_{d|n'}\varphi(d)=\sum_{i=0}^c\varphi(p^i) \]\[=1+\sum_{i=1}^c(p^i-p^{i-1})=1+\sum_{i=1}^cp^i-\sum_{i=0}^{c-1}p^i \]\[=\sum_{i=1}^cp^i-\sum_{i=1}^{c-1}p^i=p^c=n'=id \]
有了这个性质,我们考虑对原问题进行数论变换:
\[\sum_{i=1}^n\sum_{j=1}^mgcd(i,j)
\]
\[=\sum_{i=1}^n\sum_{j=1}^m\sum_{d|gcd(i,j)}\varphi(d)
\]
\[=\sum_{d=1}^{min(n,m)}\varphi(d)\sum_{i=1}^n[d|i]\sum_{j=1}^m[d|j]
\]
\[=\sum_{d=1}^{min(n,m)}\varphi(d)\lfloor\frac{n}{d}\rfloor\lfloor\frac{m}{d}\rfloor
\]
最后结论:
\[\sum_{i=1}^n\sum_{j=1}^mgcd(i,j)=\sum_{d=1}^{min(n,m)}\varphi(d)\lfloor\frac{n}{d}\rfloor\lfloor\frac{m}{d}\rfloor
\]
线性筛预处理出 \(1\sim min(n,m)\) 的 \(\varphi\) 函数的值然后直接算就 OK 了。

浙公网安备 33010602011771号