Description
题目链接:SPOJ 5971
求如下式子的值:
本题 $T$ 组数据。
数据范围:$1\le T\le 3\times 10^5$,$1\le n\le 10^6$
Solution
易得原式即
根据 $\gcd(a,n)=1$ 时一定有 $\gcd(n-a,n)=1$ ,可将原式化为
上述式子中括号内的两个 $\sum$ 对应的项相等,故又可以化为
可以将相同的 $\gcd(i,n)$ 合并在一起计算,故只需要统计 $\gcd(i,n)=d$ 的个数。当 $\gcd(i,n)=d$ 时,$\gcd(\frac{i}{d},\frac{n}{d})=1$,所以 $\gcd(i,n)=d$ 的个数有 $\varphi(\frac{n}{d})$ 个。
故答案为
变换求和顺序,设 $ d’=\frac{n}{d}$,式子化为
设 $g(n)=\sum_{d|n} d\cdot\varphi(d)$,已知 $g$ 为积性函数,于是可以 $O(n)$ 预处理。最后枚举 $d$,统计贡献即可。
时间复杂度:$O(n\log n)$
Code
1 |
|