BZOJ4805 尤拉函式求和

2022-03-29 16:43:10 字數 823 閱讀 2530

bzoj4805: 尤拉函式求和

給出乙個數字n,求sigma(phi(i)),1<=i<=n

正整數n。n<=2*10^9

輸出答案。

1032

題目要求:$$\sum_^n\varphi(i)$$

這。。。不是很顯然乙個線性篩然後字首和就沒了麼?

水題?並不!

$n\leq 2\times 10^9$!

直接$tle$到**。。。

怎麼辦?

沒事,我們有杜教篩!

具體的可以看這個板子題:

然後一發模板就可以了。

附**:

#include#include#include#include#define maxn 1700010

using namespace std;

mapsum;

int k=0,prime[maxn],mu[maxn];

bool np[maxn];

inline long long read()

return date;

}void make()

for(int j=1;j<=k&&prime[j]*i<=m;j++)

} for(int i=2;i<=m;i++)mu[i]+=mu[i-1];

}long long solve_mu(long long n)

sum[n]=ans;

return ans;

}long long solve_phi(long long n)

return (((ans-1)>>1)+1);

}int main()

BZOJ4805 尤拉函式求和

題目大意 對於給定的 n n leq2 times10 9 求 sum n varphi i 思路 設 s n sum n varphi i 因為 sum varphi d n s n sum n i sum 13const int n 1587402,m 120256 14 bool vis n ...

BZOJ 4805 尤拉函式求和

解題思路類似莫比烏斯函式之和 題目大意 求 1,n 內的尤拉函式 varphi 之和。n 2 10 思路 令 m n sum varphi i 題目所求即為 m n 由於 sum varphi d n 所以 sum sum varphi d frac 令 i kd 則有 sum sum varphi...

bzoj4805 尤拉函式求和(杜教篩)

題意 給定n,求尤拉函式前n項和。資料範圍 n 2e9 解法 尤拉函式性質 d n d n sum d n d n d n轉化為卷積形式 i i d i id i id 杜教篩遞推式 g 1 s n i 1n f g i i 2 ng i s ni g 1 s n sum n f g i sum n...