bzoj4176-Lucas的数论

题意

\[\sum _{i=1}^n\sum _{j=1}^n\sigma (ij) \]

其中 \(\sigma(x)\) 为约数个数函数。

\(n\le 10^9\)

分析

拆开咯

\[\begin{aligned} \sum _{i=1}^n\sum _{j=1}^n\sigma (ij)&=\sum _{i=1}^n\sum _{j=1}^n\sum _{d|ij}1 \\ &=\sum _{i=1}^n\sum _{j=1}^n\sum _{\frac{d}{\gcd(d,i)}|j}1 \\ &=\sum _{i=1}^n\sum _{j=1}^n\sum _{e|i}\sum _{a=1}^{\lfloor\frac{n^2}{e}\rfloor}[a|j][\gcd(a,\frac{i}{e})=1] \\ &=\sum _{i=1}^n\sum _{j=1}^n\sum _{e|i}\sum _{a|j}[\gcd(a,e)=1] \\ &=\sum _{i=1}^n\sum _{j=1}^n\sum _{e|i}\sum _{a|j}\sum _{d|a,d|e}\mu (d) \\ &=\sum _{d=1}^n\mu (d)\sum _{e=1}^{\lfloor\frac{n}{d}\rfloor}\sum _{e|i}\sum _{a=1}^{\lfloor\frac{n}{d}\rfloor}\sum _{a|j} \\ &=\sum _{d=1}^n\mu (d)(\sum _{e=1}^{\lfloor\frac{n}{d}\rfloor}\lfloor\frac{n}{de}\rfloor)^2 \end{aligned} \]

\(f(m)=\sum _{i=1}^m\lfloor\frac{m}{i}\rfloor\) ,那么

\[\sum _{i=1}^n\sum _{j=1}^n\sigma (ij)=\sum _{d=1}^n\mu (d)f(\lfloor\frac{n}{d}\rfloor)^2 \]

前面的 \(\mu\) 用杜教筛,后面的 \(f\) 直接计算,复杂度为

\[\int _0^\sqrt n (\sqrt x+\sqrt\frac{n}{x})dx=n^\frac{3}{4} \]

杜教筛中访问的都是 \(\frac{n}{x}\) 的形式,所以复杂度相当于一次杜教筛,也是 \(n^\frac{3}{4}\) (或预处理后的 \(n^\frac{2}{3}\) )。

数论题在推的时候一定要注意,枚举完之后看看是否有一些 \(\gcd\) 的限制,比如说上面枚举 \(a\) 的时候,之前就没有注意到,导致推出来一个错误的结果。

回到上面推导过程中的第四行,我们实际上推出了一个形式优美的等式:

\[\sum _{i=1}^n\sum _{j=1}^n\sigma (ij)=\sum _{i=1}^n\sum _{j=1}^n\lfloor\frac{n}{i}\rfloor\lfloor\frac{n}{j}\rfloor [\gcd(i,j)=1] \]

观察推导过程,就能发现这个式子是可以拓展的:

\[\sum _{a_1}\sum _{a_2}\sum _{a_3}\cdots\sigma(\prod a_i)=\sum _{a_1}\lfloor\frac{n}{a_1}\rfloor\sum _{a_2}\lfloor\frac{n}{a_2}\rfloor\sum _{a_3}\lfloor\frac{n}{a_3}\rfloor\cdots [两两\gcd 均为1] \]

推到最后就是 \(f\) 上面的指数发生变化。

很有趣的结论呢!

posted @ 2017-08-19 14:13  permui  阅读(187)  评论(0编辑  收藏  举报