莫比乌斯函数模板

线性筛:

const int maxn=5e4+7;
int mu[maxn];
bool vis[maxn];
vector<int>prime;
inline void init() {
    mu[1]=1;
    for(int i=2;i<maxn;++i) {
        if(!vis[i]) {
            prime.emplace_back(i); mu[i]=-1;
        }
        for(auto &j:prime) {
            if(i*j>=maxn) break;
            vis[i*j]=1;
            if(i%j==0) break;
            mu[i*j]=-mu[i];
        }
    }
}

埃塞:

mu[1] = 1;
for (int i = 1; i < maxn; i++) {
    for (int j = 2 * i; j < maxn; j += i)
        mu[j] -= mu[i];
}
莫比乌斯反演 文章被收录于专栏

NULL

全部评论

相关推荐

2025-11-15 14:35
南京邮电大学 Java
程序员牛肉:你这简历有啥值得拷打的?在牛客你这种简历一抓一大把,也就是个人信息不一样而已。 关键要去找亮点,亮点啊,整个简历都跟流水线生产出来的一样。
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务