[知识点]莫比乌斯反演入门

因为今天有较为充足的时间,于是果断入坑反演OvO

直接上公式和概念:

定理:是定义在非负整数集合上的两个函数,并且满足条件,那么我们得到结论

在上面的公式中有一个函数,称其为莫比乌斯函数

它的定义如下:

(1)若,那么

(2)若均为互异素数,那么

(3)其它情况下

对于函数,它有如下的常见性质:

(1)对任意正整数

  

(2)对任意正整数

  

(3)为积性函数

  数论上积性函数的定义:

    

  积性函数的性质:
  ① 

  ②积性函数的前缀和也是积性函数

由此可以线性求出莫比乌斯函数:

    mu[1]=1;notprime[1]=1;
    pos(i,2,N-10){
        if(!notprime[i]){
            mu[i]=-1;
            prime[++prime[0]]=i;
        }
        for(int j=1;j<=prime[0]&&prime[j]*i<=N-10;j++){
            notprime[i*prime[j]]=1;
            if(i%prime[j]==0){
                mu[i*prime[j]]=0;break;
            }
            mu[i*prime[j]]=-mu[i];
        }
    }  

莫比乌斯反演一般描述为

但是我们做题一般是用到

来几道入门题感受一下:

[BZOJ 2301]Problem B 题解  

[BZOJ 2820]YY的GCD

时间: 2024-08-27 20:30:05

[知识点]莫比乌斯反演入门的相关文章

BZOJ 2301 莫比乌斯反演入门

2301: [HAOI2011]Problem b Description 对于给出的n个询问,每次求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y) = k,gcd(x,y)函数为x和y的最大公约数. Input 第一行一个整数n,接下来n行每行五个整数,分别表示a.b.c.d.k Output 共n行,每行一个整数表示满足要求的数对(x,y)的个数 Sample Input 2 2 5 1 5 1 1 5 1 5 2 Sample Output 14 3此题作为我的莫比

莫比乌斯反演入门

Preface 莫比乌斯反演,数论中最令人头疼的一部分.可以把一些十分困难的问题变得依然很困难简单. 很早之前就想好好学一下反演,但苦于连\(\mu\)的意义都搞不懂.直到有一天我偶然看到了一句话: 那些各种各样的性质与定理,大多是前人几年甚至几十年才得出来的,哪里是你几天就能理解并证明的. (PS:每当你阅读本文并感到无法理解时,请再次阅读一遍上面的话.) 因此我就开始一脸懵逼地强行学习起反演了,一段时间之后发现也没有那么难理解. 学习的过程大多参照peng-ym's blog 关于莫比乌斯函

莫比乌斯反演入门解析

以下教程前半部分来自B站电子科技大学的视频 https://www.bilibili.com/video/av43470417?from=search&seid=9275043167445755699.菜鸡如我就还没看懂. 分割线后半部分教程来自 https://www.luogu.org/blog/An-Amazing-Blog/mu-bi-wu-si-fan-yan-ji-ge-ji-miao-di-dong-xi . 教程一 问题引入 给定整数 N 和 M .求满足 \(1 \leq x

[知识点]莫比乌斯反演模型进阶

哪来什么进阶QAQ,只不过是被虐得更惨了 总结了一下lc传授的套路与模型 一般来讲是求与gcd有关的.那么可以反演得到模型: 令f(d)为1<=x<=n,1<=y<=m且gcd(x,y)=d的数对(x,y)的个数 然后可以枚举d进行一波操作,然后再换个元,大概可以得到 通过预处理出g(x)和前缀和,分块去计算答案,以达到单次询问√n 至于这个处理g(x),我们通常用以下方法: 借鉴线性筛,分类操作 ①x为质数时 ②i与p互质时求i*p ③i%p==0时求i*p(此时break) 通

hdu 1695 莫比乌斯反演

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

hdu1569 莫比乌斯反演

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

hdu1695 GCD(莫比乌斯反演)

题意:求(1,b)区间和(1,d)区间里面gcd(x, y) = k的数的对数(1<=x<=b , 1<= y <= d). 知识点: 莫比乌斯反演/*12*/ 线性筛求莫比乌斯反演函数: void Init() { memset(vis,0,sizeof(vis)); mu[1] = 1; cnt = 0; for(int i=2; i<N; i++) { if(!vis[i]) { prime[cnt++] = i; mu[i] = -1; } for(int j=0;

莫比乌斯反演题目列表

前言: 本题表中,凡是涉及\(n.m\),都默认\(n \leq m\). Part1 这些题目都非常水,莫比乌斯反演入门题, 主要是对莫比乌斯反演应用有一个基本概念. 1.[HAOI2011]Problem b (具体题目戳我) 题目:一组数据(\(a.d.c.d \leq 5×10^4\))求 \[\sum_{i=a}^{b} \sum_{j=c}^d [gcd(i,j)=d]\] 题解: \[\sum_{i=1}^{n} \sum_{j=1}^m [gcd(i,j)=d] = \sum_{

bzoj 2820 luogu 2257 yy的gcd (莫比乌斯反演)

题目大意:求$gcd(i,j)==k,i\in[1,n],j\in[1,m] ,k\in prime,n,m<=10^{7}$的有序数对个数,不超过10^{4}次询问 莫比乌斯反演入门题 为方便表述,由于n和m等价,以下内容均默认n<=m 题目让我们求:$\sum_{k=1}^{n}\sum_{i=1}^{n}\sum_{j=1}^{m}[gcd(i,j)==k]$ 容易变形为:$\sum_{k=1}^{n}\sum_{i=1}^{\left \lfloor \frac{n}{k} \righ