BZOJ2818 GCD 【莫比乌斯反演】
2017-12-17 08:40
337 查看
2818: Gcd
Time Limit: 10 Sec Memory Limit: 256 MB
Submit: 6826 Solved: 3013
[Submit][Status][Discuss]
Description
给定整数N,求1<=x,y<=N且Gcd(x,y)为素数的
数对(x,y)有多少对.
Input
一个整数N
Output
如题
Sample Input
4
Sample Output
4
HINT
hint
对于样例(2,2),(2,4),(3,3),(4,2)
1<=N<=10^7
我们设f(n)表示gcd等于n的对数
我们设F(n)表示n|gcd的对数
则有
F(n)=⌊Nn⌋2
f(n)=∑n|dμ(dn)F(d)
=∑n|dμ(dn)⌊Nn⌋2
=∑Ni=1μ(i)⌊Ni∗n⌋2
ans=∑Np∈prime∑Ni=1μ(i)⌊Ni∗p⌋2
=∑NT=1⌊NT⌋2∗∑Np|Tμ(Tp)
至此我们可以枚举T,之后计算后边的和式就好了
其实后边的和式可以预处理得到,我直接算也能过
Time Limit: 10 Sec Memory Limit: 256 MB
Submit: 6826 Solved: 3013
[Submit][Status][Discuss]
Description
给定整数N,求1<=x,y<=N且Gcd(x,y)为素数的
数对(x,y)有多少对.
Input
一个整数N
Output
如题
Sample Input
4
Sample Output
4
HINT
hint
对于样例(2,2),(2,4),(3,3),(4,2)
1<=N<=10^7
题解
一般gcd一堆求和都是莫比乌斯我们设f(n)表示gcd等于n的对数
我们设F(n)表示n|gcd的对数
则有
F(n)=⌊Nn⌋2
f(n)=∑n|dμ(dn)F(d)
=∑n|dμ(dn)⌊Nn⌋2
=∑Ni=1μ(i)⌊Ni∗n⌋2
ans=∑Np∈prime∑Ni=1μ(i)⌊Ni∗p⌋2
=∑NT=1⌊NT⌋2∗∑Np|Tμ(Tp)
至此我们可以枚举T,之后计算后边的和式就好了
其实后边的和式可以预处理得到,我直接算也能过
#include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<bitset> #define LL long long int #define REP(i,n) for (int i = 1; i <= (n); i++) #define Redge(u) for (int k = h[u]; k != -1; k = ed[k].nxt) using namespace std; const int maxn = 10000005,maxm = 100005,INF = 1000000000; bitset<maxn> isn; int prime[maxn],primei,miu[maxn],N; void init(){ miu[1] = 1; for (int i = 2; i <= N; i++){ if (!isn[i]) prime[++primei] = i,miu[i] = -1; for (int j = 1; j <= primei && i * prime[j] <= N; j++){ isn[i * prime[j]] = true; if (i % prime[j] == 0) {miu[i * prime[j]] = 0;break;} miu[i * prime[j]] = -miu[i]; } } } int main(){ cin>>N; init(); LL ans = 0; for (int i = 1; i <= primei; i++){ for (int j = 1; j <= N / prime[i]; j++) ans += (LL) miu[j] * (N / prime[i] / j) * (N / prime[i] / j); } cout<<ans<<endl; return 0; }
相关文章推荐
- BZOJ2818 Gcd[莫比乌斯反演]
- caioj1280【莫比乌斯反演模板题】GCD
- 2017多校第二场 HDU 6053 TrickGCD 莫比乌斯反演
- SDUT 3320 GCD问题 莫比乌斯反演
- hdu 4947 GCD Array 莫比乌斯反演
- hdu 1695 GCD(莫比乌斯反演+分块模板)
- BZOJ 2820 YY的GCD 莫比乌斯反演
- 【BZOJ2818】Gcd [莫比乌斯反演]
- [BZOJ2820]YY的GCD|莫比乌斯反演
- 【莫比乌斯反演】关于Mobius反演与gcd的一些关系与问题简化(bzoj 2301 Problem b&&bzoj 2820 YY的GCD&&BZOJ 3529 数表)
- HDU 1695 GCD (容斥 + 莫比乌斯反演)
- BZOJ 2820 YY的GCD 莫比乌斯反演
- 2820: YY的GCD 莫比乌斯反演
- GCD问题--莫比乌斯反演
- HDU 1695 GCD(莫比乌斯反演,入门)
- bzoj 2820: YY的GCD 莫比乌斯反演
- 【BZOJ 2820】YY的GCD 莫比乌斯反演
- BZOJ2820 YY的GCD 莫比乌斯反演
- BZOJ 2820 YY的GCD | 莫比乌斯反演
- 【莫比乌斯反演】BZOJ2820 YY的GCD