2024/1/28 数论选做
介绍一下推的式子。
首先提供一个式子,叫做
\[d(ij)=\sum_{x|i}\sum_{y|j} [\gcd(x,y)=1]
\]
这个式子有助于推导 \([sdoi2015]\) 最大公约数一题,下面是这道题的解答。
\[\sum _{i=1}^n\sum_{j=1}^md(ij) \\
\begin{aligned}
&=\sum_{i=1}^n\sum_{j=1}^m\sum_{x|i}\sum_{y|j} [\gcd(x,y)=1] \\
&=\sum_{i=1}^n\sum_{j=1}^m\sum_{x|i}\sum_{y|j}\sum_{d|\gcd(x,y)} \mu(d)\\
&=\sum_{x=1}^n\sum_{y=1}^m\sum_{i=1}^n\sum_{j=1}^m[x|i][y|j]\sum_{d|\gcd(x,y)} \mu(d)\\
&=\sum_{x=1}^n\sum_{y=1}^m \left[\dfrac{n}{x}\right]\left[\dfrac{m}{y}\right]\sum_{d|\gcd(x,y)} \mu(d)\\
&=\sum_{d=1}^n\sum_{x=1}^n\sum_{y=1}^m \mu(d)[d|x][d|y] \left[\dfrac{n}{x}\right]\left[\dfrac{m}{y}\right]\\
&=\sum_{d=1}^n\sum_{x=1}^{\left[\dfrac{n}{d}\right]}\sum_{y=1}^{\left[\dfrac{m}{d}\right]} \mu(d) \left[\dfrac{n}{dx}\right]\left[\dfrac{m}{dy}\right]\\
&=\left\{\sum_{d=1}^n \mu(d)\right\} \left\{\sum_{x=1}^{\left[\dfrac{n}{d}\right]}\left[\dfrac{n}{dx}\right]\right\} \left\{\sum_{y=1}^{\left[\dfrac{m}{d}\right]} \left[\dfrac{m}{dy}\right]\right\}
\end{aligned}
\]
剩下的整除分块求解。显而易见复杂度达到 \(\mathcal{O(n)}\) 预处理 \(\sum_{x=1}^n \left[\dfrac{n}{x}\right]\) ,可以达到预处理 $\mathcal{O(n)} 单词询问 \(\mathcal{O(\sqrt{n})}\) 足以通过本题