hdu 1695 莫比乌斯反演
2015-03-04 20:32
155 查看
hdu 1695 莫比乌斯反演
题意:
给出a,b,c,d,k, 求满足a <= x <= b && c <= y <= d && gcd(x,y)=k 的数对(x,y)的对数。
限制:
a=c=1; 0 < b,c <= 1e5; (n1,n2) 和 (n2,n1) 算为同种情况
思路:
其实是求满足1 <= x <= b/k && 1 <= y <= d/k && gcd(x,y)=1 的 数对(x,y)的对数。
莫比乌斯反演入门题
设f(k)为gcd(x,y)=k的数对(x,y)的对数,我们要求的是f(1)
设F(k)为gcd(x,y)为k的倍数的数对(x,y)的对数,可以想到F(k)=floor(b/k)*floor(d/k),
由莫比乌斯反演得:
令lim=min(b/k,d/k)
f(1)=mu[1]*F(1) + mu[2]*F[2] + ... + mu[lim]*F(lim)
因为(n1,n2)和(n2,n1)算为同一种情况,所以最后结果还要减掉重复的情况。
ps:这道题还可以用容斥做。
题意:
给出a,b,c,d,k, 求满足a <= x <= b && c <= y <= d && gcd(x,y)=k 的数对(x,y)的对数。
限制:
a=c=1; 0 < b,c <= 1e5; (n1,n2) 和 (n2,n1) 算为同种情况
思路:
其实是求满足1 <= x <= b/k && 1 <= y <= d/k && gcd(x,y)=1 的 数对(x,y)的对数。
莫比乌斯反演入门题
设f(k)为gcd(x,y)=k的数对(x,y)的对数,我们要求的是f(1)
设F(k)为gcd(x,y)为k的倍数的数对(x,y)的对数,可以想到F(k)=floor(b/k)*floor(d/k),
由莫比乌斯反演得:
令lim=min(b/k,d/k)
f(1)=mu[1]*F(1) + mu[2]*F[2] + ... + mu[lim]*F(lim)
因为(n1,n2)和(n2,n1)算为同一种情况,所以最后结果还要减掉重复的情况。
ps:这道题还可以用容斥做。
相关文章推荐
- hdu 1695 莫比乌斯反演入门题
- hdu 1695 莫比乌斯反演
- hdu 1695 容斥原理或莫比乌斯反演
- HDU 1695 莫比乌斯反演
- HDU 1695 GCD [莫比乌斯反演]
- HDU 1695 GCD (容斥 + 莫比乌斯反演)
- hdu 1695: GCD 【莫比乌斯反演】
- HDU - 1695 GCD 莫比乌斯反演
- HDU 莫比乌斯反演 1695 GCD
- HDU1695 GCD 数论之 莫比乌斯反演
- HDU 1695 GCD(莫比乌斯反演,入门)
- HDU 1695 GCD 欧拉函数+容斥定理 || 莫比乌斯反演
- hdu1695 莫比乌斯反演
- hdu 1695 GCD(莫比乌斯反演+分块模板)
- hdu1695 莫比乌斯反演
- HDU 1695 GCD (莫比乌斯反演入门学习小结)
- 完全数+莫比乌斯反演hdu 1695+伪随机数 poj2183
- hdu 1695 GCD 欧拉函数+容斥 ||莫比乌斯反演
- HDU 1695 GCD【莫比乌斯反演】
- HDU 6053 容斥dp 或 莫比乌斯反演