「Luogu-U18201」分析矿洞

题目

没有看懂题目呢说的是什么,但是我们要求的是这个式子

\[Ans=\sum_{i=1}^n\sum_{j=1}^n\varphi(gcd^2(i,j))\]

看起来挺鬼畜的是吧

老方法枚举\(gcd\)

\[Ans=\sum_{i=1}^n\varphi(i^2)f(\left \lfloor \frac{n}{i} \right \rfloor)\]

其中

\[f(d)=\sum_{i=1}^{\left \lfloor \frac{n}{d} \right \rfloor}\sum_{j=1}^{\left \lfloor \frac{n}{d} \right \rfloor}[(i,j)=1]\]

非常显然的是

\[f(d)=2\times \sum_{i=1}^d\varphi(i)\ -1\]

于是可以考虑对\(f(\left \lfloor \frac{n}{i} \right \rfloor)\)分块

所以我们需要的是\(\varphi(i^2)\)的前缀和

还有一个非常显然的东西就是

\[\varphi(i^2)=i\varphi(i)\]

考虑\(\varphi\)的公式

令\(n\)有

\[n=\prod\limits_{i=1}^{N}p_{i}^{r_{i}}\]

\[\varphi(n)=\prod\limits_{i=1}^{N}(p_i-1)p_i^{r_i-1}\]

\[\varphi(n^2)=\prod\limits_{i=1}^{N}(p_i-1)p_i^{2r_i-1}=\prod\limits_{i=1}^{N}(p_i-1)p_i^{r_i-1}p_i^{r_i}\]

\[=\prod\limits_{i=1}^{N}(p_i-1)p_i^{r_i-1}\times \prod\limits_{i=1}^{N}p_{i}^{r_{i}}=\varphi(n)\times n\]

于是设

\[F(i)=i\varphi(i)\]

于是

\[Ans=\sum_{i=1}^nf(\left \lfloor \frac{n}{i} \right \rfloor)F(i)\]

求\(F\)函数的前缀和即可

由于数据范围很大,考虑杜教筛

根据一番暴力枚举我们应该让\(F\)和\(id\)卷一下

\[(F\times id)(i)=\sum_{d|i}d\varphi(d)\frac{i}{d}\]

\[=i\sum_{d|i}\varphi(d)=i^2\]

拿出杜教筛套路

\[S(n)=\sum_{i=1}^n(F\times id)(i)-\sum_{i=2}^nid(i)S(\left \lfloor \frac{n}{i} \right \rfloor)\]

\[=\frac{n(n+1)(2n+1)}{6}-\sum_{i=2}^nid(i)S(\left \lfloor \frac{n}{i} \right \rfloor)\]

不就没了吗

当然\(\left \lfloor \frac{n}{i} \right \rfloor\)也会很大,所以还要杜教筛一个欧拉函数

代码

怎么可能有

上一篇:唯一分解定理


下一篇:同余|欧拉定理|费马小定理|扩展欧拉定理|扩展欧几里得算法