太难了!看了这个博客:莫比乌斯反演详解
构造是重点,现在看这题:
构造方法和上面的讲解中的构造是基本一致的
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<iostream>
using namespace std;
typedef long long ll;
const int maxn=1e7+7;
ll pri[maxn],pri_num;
ll mu[maxn];//莫比乌斯函数值
bool vis[maxn];
void mobius(int N) //筛法求莫比乌斯函数
{
pri_num = 0;//素数个数
memset(vis, false, sizeof(vis));