莫比乌斯函数模板

#include
#include
#include
#include
#include
#include
#include
#define N 100005
using namespace std;
vector<int> prime;
bool pri[N];
int mu[N];
void init()
{
    memset(pri,true,sizeof(pri));
    mu[1]=1;
    for(int i=2;iif(pri[i])
        {
            prime.push_back(i);
            mu[i]=-1;
        }
        for(int j=0;jfalse;
            if(i%prime[j])
                mu[i*prime[j]]=-mu[i];
            else
            {
                mu[i*prime[j]]=0;
                break;
            }
        }
    }
}

你可能感兴趣的:(模板,莫比乌斯反演)