莫比乌斯入门请耐心往下看:
OK.现在可以开始刷题了。
莫比乌斯反演 HDU 1695 GCD
从区间[1, b]和[1,d]中分别选一个x, y,使得gcd(x, y) == k, 求满足条件的xy的对数(不区分xy的顺序)
分析:转换成求[1,b/k],[1,d/k]中gcd(x,y)==1的(x,y)对数.需要知道下面这个定理
然后把这个定理换成代码就好
#include<vector>
#include<cmath>
#include<algorithm>
#include<string>
#include<iostream>
#include<cstdio>
#include<cstring>
#include<map>
#define sf(n) scanf("%d", &n)
#define sff(a,b) scanf("%d %d", &a, &b)
#define sfff(a,b,c) scanf("%d %d %d", &a, &b, &c)
#define MT(x,i) memset(x,i,sizeof(x))
typedef long long LL;
using namespace std;
const int MA