传送门:hdu6134
题解

g
g
g可以
n
ln
n
n\ln n
nlnn(调和级数)预处理:
枚举
j
j
j的倍数,
g
(
(
j
−
1
)
∗
i
+
1
)
+
=
i
,
g
(
j
∗
i
+
1
)
−
=
i
g((j-1)*i+1) += i,g(j*i+1) -= i
g((j−1)∗i+1)+=i,g(j∗i+1)−=i,前缀和的前缀和就是
ϕ
\phi
ϕ
复杂度 ( n ln n + T n ) (n\ln n+T\sqrt n) (nlnn+Tn)

本文详细解析了HDU6134题目,通过枚举倍数的方法,利用调和级数进行预处理,实现了nlnn的时间复杂度。该方法通过计算g((j-1)*i+1)和g(j*i+1)的增量,最终得到欧拉函数φ的值。

3894

被折叠的 条评论
为什么被折叠?



