洛谷P3768 简单的数学题

题意

求$\sum_{i=1}^n\sum_{j=1}^nij\gcd(i,j)$的值

$n\le 10^{10}$

Sol

还是按照套路反演

$$\sum_{i=1}^n\sum_{j=1}^nij\gcd(i,j)$$

$$=\sum_{d=1}^nd^3\sum_{i=1}^{\lfloor\frac nd\rfloor}\sum_{j=1}^{\lfloor\frac nd\rfloor}ij[\gcd(i,j)=1]$$

$$=\sum_{d=1}^nd^3\sum_{i=1}^{\lfloor\frac nd\rfloor}\sum_{j=1}^{\lfloor\frac nd\rfloor}ij\sum_{x|\gcd(i,j)}\mu(x)$$

枚举$x$

$$=\sum_{d=1}^nd^3\sum_{x=1}^{\lfloor\frac nd\rfloor}x^2\mu(x)\sum_{i=1}^{\lfloor\frac n{dx}\rfloor}i\sum_{j=1}^{\lfloor\frac n{dx}\rfloor}j$$

$$=\sum_{d=1}^nd^3\sum_{x=1}^{\lfloor\frac{n}{d}\rfloor}x^2\mu(x)\sum_{i=1}^{\lfloor\frac n{dx}\rfloor}i^3$$

由于$1^3+2^3+...+n^3=(1+2+...+n)^2$,则原式化为

$$\sum_{d=1}^nd^3\sum_{x=1}^{\lfloor\frac{n}{d}\rfloor}x^2\mu(x)(1+2+3+...+\lfloor\frac n{dx}\rfloor)^2$$

设$f(x)=1+2+3+...+x$,则原式为

$$\sum_{d=1}^nd^3\sum_{x=1}^{\lfloor\frac{n}{d}\rfloor}x^2\mu(x)f^2(\lfloor\frac{n}{dx}\rfloor)$$

设$dx=T$,枚举$T$

$$=\sum_{T=1}^nf^2(\lfloor\frac nT\rfloor)\sum_{d|T}d^3(\frac Td)^2\mu(\frac Td)$$

约分

$$=\sum_{T=1}^nf^2(\lfloor\frac nT\rfloor)T^2\sum_{d|T}d\mu(\frac Td)$$

由于$\sum_{d|T}d\mu(\frac Td)=\sum_{d|T}id(d)\mu(\frac Td)=(id*\mu)(T)=\varphi(T)$,则原式为

$$\sum_{T=1}^nf^2(\lfloor\frac nT\rfloor)T^2\varphi$$

考虑对前面部分整除分块,只需要后面部分的前缀和

由于$n\le 10^{10}$,容易想到使用杜教筛

设$g(x)=x^2\varphi,h(x)=x^2$,则

$$(g*h)(n)=\sum_{d|n}h(d)\varphi(\frac nd)=n^2\sum_{d|n}\varphi(d)=n^3$$

设$S(n)$为$g$的前缀和,则

$$\sum_{i=1}^n(g*h)(i)=\sum_{i=1}^n\sum_{d|i}h(d)g(\frac id)=\sum_{d=1}^nh(d)\sum_{i=1}^{\lfloor\frac nd\rfloor}g(i)=\sum_{d=1}^{n}h(d)S(\lfloor\frac nd\rfloor)$$

$$h(1)S(n)=\sum_{d=1}^nh(d)S(\lfloor\frac nd\rfloor)-\sum_{d=2}^nh(d)S(\lfloor\frac nd\rfloor)$$

$$h(1)S(n)=\sum_{i=1}^n(h*g)(i)-\sum_{i=2}^nh(i)S(\lfloor\frac ni\rfloor)$$

用杜教筛处理即可。

posted @ 2020-06-02 17:10  verjun  阅读(142)  评论(0编辑  收藏  举报