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})}\) 足以通过本题

posted @ 2024-01-28 17:02  q(x)  阅读(21)  评论(0编辑  收藏  举报