精华内容
下载资源
问答
  • 莫比乌斯反演定理

    2018-06-02 19:11:56
    [toc] // 先挖坑,有空填 莫比乌斯反演定理 百度百科 我感觉百度百科就讲的不错

    莫比乌斯反演定理

    // 先挖坑,有空填

    莫比乌斯函数

    这里写图片描述

    莫比乌斯反演公式

    若有 g(n)=d|nnf(d)
    必有
    f(n)=d|nnμ(n)f(n/d)
    反之亦然

    证明

    知乎大神
    百度百科
    我感觉知乎大神讲的贼棒

    应用

    例题

    类似问题总结

    深度好文

    展开全文
  • 莫比乌斯反演也是反演定理的一种 既然我们已经学了二项式反演定理 那莫比乌斯反演定理与二项式反演定理一样,不求甚解,只求会用 莫比乌斯反演长下面这个样子(=・ω・=) d|n,表示n能够整除d,也...

    莫比乌斯反演也是反演定理的一种

     

     

     

    既然我们已经学了二项式反演定理

     

    那莫比乌斯反演定理与二项式反演定理一样,不求甚解,只求会用

     

    莫比乌斯反演长下面这个样子(=・ω・=)

     

    莫比乌斯反演1

    d|n,表示n能够整除d,也就是d是n的所有因子

     

    μ(x)是莫比乌斯函数,它是这样计算的

    μ(1) = 1 

    x = p1 * p2 * p3 ……*pk(x由k个不同的质数组成)则μ(x) = (-1)^k 

    其他情况,μ (x) = 0 

     

    比如

    30 = 2 * 3 * 5

    μ(30) = (-1)^3 

    4 = 2 * 2

    μ(4) = 0

     

     

     

     

     

     

    对于μ(d)函数,它有如下的常见性质:

     

        (1)对任意正整数n有

    莫比乌斯反演2

        (2)对任意正整数n有 

     

     莫比乌斯反演3

     

     

     

     

    求μ的函数的方法很多

    这里提供一种线筛的预处理(复杂度O(n)哟~~~)

    #include<cstdio>
    const int N = 1e6 + 5;
    int mu[N], vis[N], prime[N];
    int tot;//用来记录prime的个数
    void init(){
        mu[1] = 1;
        for(int i = 2; i < N; i ++){
            if(!vis[i]){
                prime[tot ++] = i;
                mu[i] = -1;
            }
            for(int j = 0; j < tot && i * prime[j] < N; j ++){
                vis[i * prime[j]] = 1;
                if(i % prime[j]) mu[i * prime[j]] = -mu[i];
                else{
                    mu[i * prime[j]] = 0;
                    break;
                }
            }
        }
    }
    int main(){
        init();
    }
    

      

    上次,有人问我μ为啥不是miu是mu

    这。。。当然都可以啦,μ的英文就是mu,miu是读音看你习惯

     

    ∑(っ °Д °;)っ为了证明我是对的,我特意百度了希腊字母读音及科学方面应用

    大写
    小写
    英文读音
    国际音标
    意义
    Α
    α
    alpha
    /ˈ&aelig;lfə/
    角度,系数,角加速度
    Β
    β
    beta
    /'beitə/
    磁通系数,角度,系数
    Γ
    γ
    gamma
    /'g&aelig;mə/
    电导系数,角度,比热容比
    Δ
    δ
    delta
    /'deltə/
    变化量,屈光度,一元二次方程中的判别式
    Ε
    ε
    epsilon
    /ep'silon/
    对数之基数,介电常数
    Ζ
    ζ
    zeta
    /'zi:tə/
    系数,方位角,阻抗,相对粘度
    Η
    η
    eta
    /'i:tə/
    迟滞系数,效率
    Θ
    θ
    theta
    /'θi:tə/
    温度,角度
    Ι
    ι ℩
    iota
    /ai'oute/
    微小,一点
    Κ
    κ
    kappa
    /k&aelig;pə/
    介质常数,绝热指数
    λ
    lambda
    /'l&aelig;mdə/
    波长,体积,导热系数
    Μ
    μ
    mu
    /mju:/
    磁导系数,微,动摩擦系(因)数,流体动力粘度
    Ν
    ν
    nu
    /nju:/
    磁阻系数,流体运动粘度,光子频率
    Ξ
    ξ
    xi
    /ksi/
    随机数,(小)区间内的一个未知特定值
    Ο
    ο
    omicron
    /oumaik'rən/
    高阶无穷小函数
    π
    pi
    /pai/
    圆周率,π(n)表示不大于n的质数个数
    Ρ
    ρ
    rho
    /rou/
    电阻系数,柱坐标和极坐标中的极径,密度
    σ ς
    sigma
    /'sigmə/
    总和,表面密度,跨导,正应力
    Τ
    τ
    tau
    /tau/
    时间常数,切应力
    Υ
    υ
    upsilon
    /ju:p'silən/
    位移
    Φ
    φ
    phi
    /fai/
    磁通,角,透镜焦度,热流量
    Χ
    χ
    chi
    /kai/
    统计学中有卡方(χ^2)分布
    Ψ
    ψ
    psi
    /psai/
    角速,介质电通量
    Ω
    ω
    omega
    /'oumigə/
    欧姆,角速度,交流电的电角度

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    其实莫比乌斯有两种描述

    莫比乌斯反演一

    莫比乌斯第一种描述,一般是这种

    莫比乌斯反演二

    莫比乌斯第二种描述,这种也可以而且有些题这种更好

     

     

     

     

     

     

     

     

     

     

    来做题吧

    hdu 1695

    http://acm.hdu.edu.cn/showproblem.php?pid=1695

     

    (这题就是容斥那一章的,我就把下面的题意照搬过来了,还记得题目的就跳过题目吧) 

    题意:给你5个数a,b,c,d,k

    在a~b中选一个x, c~d中选一个y,满足gcd(x,y) = k , 求(x,y) 的对数 

    a, b, c, d, k, 0 < a <= b <= 100,000, 0 < c <= d <= 100,000, 0 <= k <= 100,000

    在题目描述的最后一行有一句话,多组里面所有的a和c都是1(这题目不是坑爹吗(╯‵□′)╯︵┻━┻那输入a和c有什么用)

    然后题目变成

    在1~b中选一个x, 1~d中选一个y,满足gcd(x,y) = k , 求(x,y) 的对数 。。。(无语中。。。)

     

     

     

     

     

     

     

     

    前面思路一样

    先把问题就转化为求1~a区间 和 1~b区间,gcd(x,y) = 1对数的问题

     

    设f(d)为满足gcd(x,y)=d的x,y的对数

    我们根据莫比乌斯第二描述来做

    那F(1) = f(1) + f(2) + f(3) + ....

    F(2) = f(2) + f(4) + f(6) +.....

    我们可以看出F(d)就是满足gcd(x,y)为d的倍数的x,y的对数

    那F(d)的公式就容易求了

    F(d) = (a/d) * (b/d)

    (在1~a中,有a/d个数是d的倍数,在1~b中,有b/d个数是d的倍数,这些数不管怎么选择,构成的gcd(x,y)都是d的倍数)

    因为

     F(1) = f(1) + f(2) + f(3) + ....

    所以

    f(1) = μ(1)*F(1) + μ(2)*F(2) + μ(3)*F(3) + ...

     

    AC代码:

    #include<cstdio>
    #include<algorithm>
    using namespace std;
    typedef long long LL;
    const int N = 1e6 + 5;
    int mu[N], vis[N], prime[N];
    int tot;//用来记录prime的个数
    void init(){
        mu[1] = 1;
        for(int i = 2; i < N; i ++){
            if(!vis[i]){
                prime[tot ++] = i;
                mu[i] = -1;
            }
            for(int j = 0; j < tot && i * prime[j] < N; j ++){
                vis[i * prime[j]] = 1;
                if(i % prime[j]) mu[i * prime[j]] = -mu[i];
                else{
                    mu[i * prime[j]] = 0;
                    break;
                }
            }
        }
    }
    LL Mobius(int a, int b){
        LL ret = 0;
        for(int i = 1; i <= a; i ++){//因为公式中有a/i,所以for到a就可以了 
            ret += 1ll * mu[i] * (a / i) * (b / i);
        }
        //我们现在求完了总对数,但是题目要求的类似(5,7)和(7,5)算一种
        //所以接下来我们开始去重
        LL temp = 0;
        for(int i = 1; i <= a; i ++){
            temp += 1ll * mu[i] * (a / i) * (a / i);
        } 
        return ret - temp / 2;
        //比如a=5,b=7那么(4,6)这样子的区间不可能有重复的(6,4)
        //所以重复的部分只在1~a中,所以最后减去一半的重复区间就好了 
    }
    int main(){
        init();
        int T, a, b, c, d, k;
        scanf("%d", &T);
        for(int cas = 1; cas <= T; cas ++){
            scanf("%d%d%d%d%d", &a, &b, &c, &d, &k);
            if(k == 0){
                printf("Case %d: 0\n", cas);
                continue;
            }
            b /= k; d /= k;
            if(b > d) swap(b, d);
            printf("Case %d: %I64d\n", cas, Mobius(b, d));
        }
    }
    View Code

     

    /此处施工中//

    暂时弃坑。。。。

    http://acm.hust.edu.cn/vjudge/contest/view.action?cid=94200#overview

    峰神挂的莫比乌斯反演章节,有兴趣自己去做做,不会的去百度。。。。

    转载于:https://www.cnblogs.com/xzxl/p/7354153.html

    展开全文
  • 定义,求法,打表及反演定理在这篇博客进行了介绍 给出两个反演公式 f(n)=∑d∣ng(d)⟺g(n)=∑d∣nμ(d)f(nd)(1)f(n)=\sum_{d|n}g(d)\Longleftrightarrow g(n)=\sum_{d|n}\mu(d)f(\frac{n}{d})\tag1f(n)=d∣n∑​g(d)...

    定义,求法,打表及反演定理在这篇博客进行了介绍
    给出两个反演形式
    f(n)=dng(d)g(n)=dnμ(d)f(nd)(1)f(n)=\sum_{d|n}g(d)\Longleftrightarrow g(n)=\sum_{d|n}\mu(d)f(\frac{n}{d})\tag1
    f(n)=dng(d)g(n)=dnμ(nd)f(d)(2)f(n)=\sum_{d|n}g(d)\Longleftrightarrow g(n)=\sum_{d|n}\mu(\frac{n}{d})f(d)\tag2
    这里给出的证明:
    证明(1):
    dnμ(d)f(nd)=dnμ(d)kndg(k)=kng(k)dnkμ(d)=kng(k)[nk==1]=g(n)\begin{aligned} \sum_{d|n}\mu(d)f(\frac{n}{d})&=\sum_{d|n}\mu(d)\sum_{k|\frac{n}{d}}g(k)\\ &=\sum_{k|n}g(k)\sum_{d|\frac{n}{k}}\mu(d)\\ &=\sum_{k|n}g(k)[\frac{n}{k}==1]\\ &=g(n) \end{aligned}
    证明(2)略
    这里给出几个应用例子;
    1.
    i=1nj=1m[gcd(i,j)==1]dμ(d)ndmd\sum^n_{i=1}\sum^m_{j=1}[gcd(i, j)==1]\Longleftrightarrow\sum_d\mu(d)\lfloor\frac{n}{d}\rfloor\lfloor\frac{m}{d}\rfloor
    处理前缀和然后数论分块
    2.
    i=1nj=1mgcd(i,j)=di=1nj=1m[gcd(i,j)==d]=di=1ndj=1md[gcd(i,j)==1]=dtμ(t)ndtmdtT=dt,:=Tttμ(Td)nTmT=TnTmTtTμ(t)Tt=TnTmTφ(T)\begin{aligned} \sum_{i=1}^n\sum_{j=1}^mgcd(i,j)&=\sum d\sum_{i=1}^n\sum_{j=1}^m[gcd(i,j)==d]\\ &=\sum d\sum_{i=1}^{\frac{n}{d}}\sum_{j=1}^{\frac{m}{d}}[gcd(i,j)==1]\\ &=\sum d\sum_t\mu(t)\lfloor\frac{n}{dt}\rfloor\lfloor\frac{m}{dt}\rfloor\\ 令T=dt,则上式可化为:\\ &=\sum\frac{T}{t}\sum_t\mu(\frac{T}{d})\lfloor\frac{n}{T}\rfloor\lfloor\frac{m}{T}\rfloor\\ &=\sum_T\lfloor\frac{n}{T}\rfloor\lfloor\frac{m}{T}\rfloor\sum_{t|T}\mu(t)\frac{T}{t}\\ &=\sum_T\lfloor\frac{n}{T}\rfloor\lfloor\frac{m}{T}\rfloor\varphi(T) \end{aligned}
    这里有一个公式:
    φ(n)=dnμ(d)nd\varphi(n)=\sum_{d|n}\mu(d)\frac{n}{d}
    3.
    dnμ(d)d=φ(n)n\sum_{d|n}\frac{\mu(d)}{d}=\frac{\varphi(n)}{n}
    4.有一些替换公式
    ii[gcd(i,n)==1]=dnμ(d)d2(1+nd)nd(1)\sum_ii[gcd(i,n)==1]=\sum_{d|n}\mu(d)\frac{d}{2}(1+\lfloor\frac{n}{d}\rfloor)\lfloor\frac{n}{d}\rfloor\tag1
    [gcd(i,j)==1]dgcd(i,j)μ(d)(2)[gcd(i,j)==1]\Longleftrightarrow\sum_{d|gcd(i,j)}\mu(d)\tag2

    5.有位置变换公式
    i=1nj=1mμ(i)=i=1nμ(i)j=1m\sum_{i=1}^n\sum_{j=1}^m\mu(i)=\sum_{i=1}^n\mu(i)\sum_{j=1}^m
    6.有公因数提取
    i=1nj=1m[gcd(i,j)==d]i=1ndj=1md[gcd(i,j)==1](1)\sum_{i=1}^n\sum_{j=1}^m[gcd(i,j)==d]\Longleftrightarrow\sum_{i=1}^{\frac{n}{d}}\sum_{j=1}^{\frac{m}{d}}[gcd(i,j)==1]\tag1
    i=1nj=1mgcd(i,j)=di=1nj=1m[gcd(i,j)==d](2)\sum_{i=1}^n\sum_{j=1}^mgcd(i,j)=\sum d\sum_{i=1}^n\sum_{j=1}^m[gcd(i,j)==d]\tag2
    例题:P1829 [国家集训队]Crash的数字表格 / JZPTAB
    此题目的在于求
    i=1nj=1mlcm(i,j)\sum_{i=1}^n\sum_{j=1}^mlcm(i,j)
    我们经过化简(过程中的除法均为向下取整):
    定义:
    ans(i,j)=i=1nj=1mlcm(i,j)=i=1nj=1mijgcd(i,j)=di=1nj=1mijd[gcd(i,j)==d]=ddi=1ndj=1mdij[gcd(i,j)==1]\begin{aligned} ans(i, j)&=\sum_{i=1}^n\sum_{j=1}^mlcm(i,j)\\ &=\sum_{i=1}^n\sum_{j=1}^m\frac{ij}{gcd(i,j)}\\ &=\sum_d\sum_{i=1}^n\sum_{j=1}^m\frac{ij}{d}[gcd(i,j)==d]\\ &=\sum_d d\sum_{i=1}^{\frac{n}{d}}\sum_{j=1}^{\frac{m}{d}}ij[gcd(i,j)==1]\\ \end{aligned}
    这时我们设:
    sum(i,j)=i=1nj=1mij[gcd(i,j)==1]=i=1nj=1mdgcd(i,j)μ(d)ij=ddindjmμ(d)ij=dd2indjmdμ(d)ij=dd2μ(d)indjmdij\begin{aligned} sum(i,j)&=\sum_{i=1}^{n}\sum_{j=1}^{m}ij[gcd(i,j)==1]\\ &=\sum_{i=1}^{n}\sum_{j=1}^{m}\sum_{d|gcd(i,j)}\mu(d)ij\\ &=\sum_{d}\sum_{d|i}^{n}\sum_{d|j}^{m}\mu(d)ij\\ &=\sum_{d}d^2\sum_{i}^{\frac{n}{d}}\sum_{j}^{\frac{m}{d}}\mu(d)ij\\ &=\sum_{d}d^2\mu(d)\sum_{i}^{\frac{n}{d}}\sum_{j}^{\frac{m}{d}}ij \end{aligned}
    设:
    g(n,m)=injmij=n(n+1)2m(m+1)2\begin{aligned} g(n,m)&=\sum_{i}^{n}\sum_{j}^{m}ij\\ &=\frac{n(n+1)}{2}*\frac{m(m+1)}{2}\\ \end{aligned}
    此时我们发现gg函数可以O(1)O(1)求出,我们针对sum,anssum,ans进行数论分块就可以了.
    下面是ac代码:

    #include <iostream>
    #include <cstring>
    #include <string>
    #include <cmath>
    #include <algorithm>
    #include <cstdio>
    #include <cstdlib>
    #include <vector>
    #include <queue>
    #include <map>
    #include <set>
    #define ll long long
    using namespace std;
    const ll mod = 20101009;
    const int N = 1e7+7;
    ll mu[N], pri[N], v[N], cnt;
    void init()
    {
        mu[1] = 1;
        for (int i = 2; i < N; i++)
        {
            if (v[i] == 0)
            {
                v[i] = i; pri[++cnt] = i;
                mu[i] = -1;
            }
            for (int j = 1; j <= cnt; j++)
            {
                if (i * pri[j] > N) break;
                v[i * pri[j]] = pri[j];
                if (i % pri[j] == 0) {mu[i*pri[j]] = 0; break;}
                mu[i*pri[j]] = -mu[i];
            }
        }
        for (int i = 1; i < N; i++)
            mu[i] = (mu[i-1] + 1ll * i * i % mod *(mu[i] + mod))%mod;
    }
    inline ll g(ll n, ll m)
    {
        return (n * (n + 1) / 2 % mod) * (m * (m + 1) / 2 % mod) % mod;
    }
    ll sum(ll x, ll y)
    {
        ll res = 0;
        for (int i = 1, j; i <= min(x, y); i = j + 1)
        {
            j = min(x/(x/i), y/(y/i));
            res = (res + (mu[j] - mu[i-1] + mod) * g(x/i, y/i) % mod ) %mod;
        }
        return res;
    }
    ll sol(ll x, ll y)
    {
        ll res = 0;
        for (int i = 1, j; i <= min(x, y); i = j + 1)
        {
            j = min(x/(x/i), y/(y/i));
            res = (res + 1ll * (j - i + 1) * (i + j) / 2 % mod * sum(x/i, y/i)%mod)%mod;
        }
        return res;
    }
    int main()
    {
        init();
        ll n, m;
        scanf("%lld%lld", &n, &m);
        printf("%lld\n", sol(n, m));
        return 0;
    }
    
    
    展开全文
  • 用Matlab验证Frobenius反演定理(数字信号处理课程) 随机产生4个多维矩阵,分别计算等式两边,然后对两结果作差后求2范数,判断范数是否为0(浮点运算,小于1e-6) 本程序代码清晰,注释明确,并在程序中提供了...
  • 莫比乌斯反演定理 定理 存在 f(x)f(x)f(x) 和 g(x)g(x)g(x) 是定义在非负整数域的函数,并且满足 f(n)=∑d∣ng(d)f(n) = \sum_{d|n}g(d)f(n)=d∣n∑​g(d) 式子等价于 g(n)=∑d∣nμ(d)f(⌊nd⌋)g(n) = \sum_{d|n}\...

    莫比乌斯反演定理

    定理

    第一种形式的莫比乌斯反演

    存在 f(x)f(x)g(x)g(x) 是定义在非负整数域的函数,并且满足
    f(n)=dng(d)f(n) = \sum_{d|n}g(d)
    式子等价于
    g(n)=dnμ(d)f(nd)g(n) = \sum_{d|n}\mu(d)f(\frac{n}{d})


    第二种形式的莫比乌斯反演

    莫比乌斯反演还存在另一种形式:


    存在
    f(n)=ndg(d)f(n)=\sum_{n|d}g(d)
    式子等价于
    g(n)=ndμ(dn)f(d)g(n)=\sum_{n|d}\mu(\frac{d}{n})f(d)

    证明

    第一种形式的证明

    简单朴素证明:

    只需证右边 dnμ(d)f(nd)\sum_{d|n}\mu(d)f(\frac{n}{d}) 等于左边的 g(n)g(n) 即可。
    dnμ(d)f(nd)=dnμ(d)indg(i)=dnindμ(d)g(i)=indniμ(d)g(i)=dnμ(d)indg(i)=g(n)\begin{aligned} \sum_{d|n}\mu(d)f(\frac{n}{d}) &amp; = \sum_{d|n}\mu(d)\sum_{i|\frac{n}{d}}g(i)\\ &amp;=\sum_{d|n}\sum_{i|\frac{n}{d}}\mu(d)g(i)\\ &amp;=\sum_{i|n}\sum_{d|\frac{n}{i}}\mu(d)g(i)\\ &amp;=\sum_{d|n}\mu(d)\sum_{i|\frac{n}{d}}g(i)\\ &amp;=g(n)\\ \end{aligned}
    如上,g(n)=dnμ(d)f(nd)g(n)=\sum_{d|n}\mu(d)f(\frac{n}{d}) 得证。

    卷积证明:

    证明参考:点击此链接
    求证:f(n)=dng(d)g(n)=dnμ(d)f(nd)f(n) = \sum_{d|n}g(d) \Leftrightarrow g(n) = \sum_{d|n}\mu(d)f(\frac{n}{d})

    已知 μ\mu 为莫比乌斯函数, uu 为乘法单位元, ee 为单位元。
    它们存在以下三个性质:1. u=μ1u = \mu^{-1} 。2. uμ=eu*\mu=e 。3. ef=fe*f=f
    求证: f=gug=fμf = g * u \Leftrightarrow g = f*\mu
    先证: f=gug=fμf=g*u\Rightarrow g = f*\mu
    f=gug=fμgu=fμugu=f(μu)gu=fegu=f\begin{aligned} f=g*u &amp; \Rightarrow g = f * \mu\\ &amp; \Rightarrow g*u = f*\mu*u\\ &amp; \Rightarrow g*u= f*(\mu*u)\\ &amp; \Rightarrow g*u=f*e\\ &amp; \Rightarrow g*u=f\\ \end{aligned}
    如上,f(n)=dng(d)g(n)=dnμ(d)f(nd)f(n) = \sum_{d|n}g(d) \Rightarrow g(n) = \sum_{d|n}\mu(d)f(\frac{n}{d}) 得证。
    再证: g=fμf=gug = f * \mu \Rightarrow f=g*u
    g=fμf=gufμ=guμfμ=g(uμ)fμ=gefμ=g\begin{aligned} g = f*\mu &amp; \Rightarrow f=g*u\\ &amp; \Rightarrow f*\mu=g*u*\mu\\ &amp; \Rightarrow f*\mu=g*(u*\mu)\\ &amp; \Rightarrow f*\mu=g*e\\ &amp; \Rightarrow f*\mu=g\\ \end{aligned}
    如上, g=fμf=gug = f * \mu \Rightarrow f=g*u 得证。
    f(n)=dng(d)g(n)=dnμ(d)f(nd)f(n) = \sum_{d|n}g(d) \Leftrightarrow g(n) = \sum_{d|n}\mu(d)f(\frac{n}{d}) 得证。

    第二种形式的证明

    简单朴素证明

    求证 f(n)=ndg(d)g(n)=ndμ(dn)f(d)f(n)=\sum_{n|d}g(d) \Leftrightarrow g(n)=\sum_{n|d}\mu(\frac{d}{n})f(d)
    k=dnk={d\over n}
    g(n)=ndμ(dn)f(d)=k=1+μ(k)f(nk)=k=1+μ(k)nkig(i)=k=1+nkiμ(k)g(i)=nikinμ(k)g(i)=nig(i)kinμ(k)\begin{aligned} g(n)&amp;=\sum_{n|d}\mu(\frac{d}{n})f(d)\\ &amp;=\sum_{k=1}^{+\infty}\mu(k)f(nk)\\ &amp;=\sum_{k=1}^{+\infty}\mu(k)\sum_{nk|i}g(i)\\ &amp;=\sum_{k=1}^{+\infty}\sum_{nk|i}\mu(k)g(i)\\ &amp;=\sum_{n|i}\sum_{k|{i\over n}}\mu(k)g(i)\\ &amp;=\sum_{n|i}g(i)\sum_{k|{i\over n}}\mu(k)\\ \end{aligned}
    观察 nig(i)kinμ(k)\sum_{n|i}g(i)\sum_{k|{i\over n}}\mu(k) ,当且仅当 in=1{i\over n}=1,即 i=ni=n 时,kinμ(k)=1\sum_{k|{i\over n}}\mu(k)=1,其余都是 00。因此
    nig(i)kinμ(k)=g(n)\sum_{n|i}g(i)\sum_{k|{i\over n}}\mu(k)=g(n)
    得证。

    展开全文
  • 莫比乌斯反演定理形式一: F(n)=∑d|nf(d)=>f(n)=∑d|nμ(d)F(nd) 证明: 恒等变形得: f(n)=∑d|nμ(d)F(nd)=∑d|nμ(d)∑k|ndf(k)=∑k|nf(k)∑d|nkμ(d) 因为之前证明的这个定理: ∑d|nμ(d)={...
  • 终于讲到反演定理了,反演定理这种东西记一下公式就好了,反正我是证明不出来的~(~o ̄▽ ̄)~o 首先,著名的反演公式 我先简单的写一下o( ̄ヘ ̄*o) 比如下面这个公式 f(n) = g(1) + g(2) + g(3) ...
  • 莫比乌斯反演定理的证明。 ps:ps:ps:初学给自己做个笔记,怕以后忘了。 前置知识:莫比乌斯函数μ\muμ的两个性质: 1.∑d∣nμ(d)=[n==1]1.\sum\limits_{d|n}\mu(d)=[n==1]1.d∣n∑​μ(d)=[n==1] 2.∑d∣nμ(d)d=...
  • 莫比乌斯函数和反演定理的理解

    千次阅读 2016-08-30 09:34:41
    现在就谈谈莫比乌斯函数的性质和反演定理的理解。 首先定义 u(x)u(x) 为莫比乌斯函数。他有以下性质: 1.∑d|mu(x)=[m==1]\sum\limits_{d|m} u(x) = [m == 1] 其中m == 1 指m == 1 的逻辑值,也就是如果m == 1 则...
  • 反演定理及其应用

    千次阅读 2018-08-04 13:09:07
    一、莫比乌斯反演 莫比乌斯反演公式: 若 F(n)=∑i|nf(i)F(n)=∑i|nf(i)F(n)=\sum_{i|n}f(i) 则 f(n)=∑i|nμ(i)F(ni)f(n)=∑i|nμ(i)F(ni)f(n)=\sum_{i|n}\mu(i)F(\frac{n}{i}) 为什么呢?请看证明: 由于...
  •  题意:求gcd(x,y,z)=1,1<=x,y,z<=n,的个数。  开始做的时候枚举gcd(x,y),然后求z与gcd(x,y)互素的个数个数,O(n*sqrt(n))赌赌RP,然后... 后来才知道要用到莫比乌斯反演定理:   已知 f(n) = sigma...
  • PoPoQQQ没有给出形式二的证明,我恨PoPoQQQ,证了好久。...莫比乌斯反演定理形式一: F(n)=∑d|nf(d)=>f(n)=∑d|nμ(d)F(nd) 证明: 恒等变形得: f(n)=∑d|nμ(d)F(nd)=∑d|nμ(d)∑k|ndf(k)=∑k|nf(k...
  • 莫比乌斯反演定理推导 ∑ d | n μ ( d ) F ( n d ) = ∑ d | n μ ( d ) ∑ k | n d f ( k ) \sum_{d|n}{μ(d)F({n \over d})}=\sum_{d|n}{μ(d)}\sum_{k|{n\over d}}{f(k)} ∑ d | n μ ( d ) ∑ k | n d f...
  • 莫比乌斯反演也是反演定理的一种 既然我们已经学了二项式反演定理 那莫比乌斯反演定理与二项式反演定理一样,不求甚解,只求会用 莫比乌斯反演长下面这个样子(=・ω・=) d|n,表示n能够整除d,也...
  • 莫比乌斯反演定理的证明

    千次阅读 2017-07-29 19:15:19
    https://www.zhihu.com/question/23764267/answer/26007647 直接去上面这个网址看吧,看一位叫做Syu Gau的大神的证明,写得非常清晰,本人不太会传图片(╯#-_-)╯,所以就不在此处再写一遍了。。。
  • 近期学习了莫比乌斯反演,算是一个学习笔记吧… 在这里首先要说明: 1:本文讨论的所有函数为数论函数,即定义域为D=N∗D=N^*D=N∗的函数; 2:∑d∣nf(d)\sum \limits_{d|n}f(d)d∣n∑​f(d)表示ddd取遍nnn的...
  • Mobius反演定理-BZOJ2154

    2017-03-14 20:13:00
    This article is made by Jason-Cow.Welcome to reprint.But please post the article's address....莫比乌斯定理(未完待续......): 形式1: 形式2: 引理: 证明1: 右边=带入左边等式,得  ...
  • 终于讲到反演定理了,反演定理这种东西记一下公式就好了,反正我是证明不出来的~(~o ̄▽ ̄)~o 首先,著名的反演公式 我先简单的写一下o( ̄ヘ ̄*o) 比如下面这个公式 f(n) = g(1) + g(2) + g(3) ...
  • 狄利克雷卷积及莫比乌斯反演定理

    千次阅读 2016-07-31 23:29:57
    通常,可以使用莫比乌斯反演定理: f(n)=d|nΣμ(d)g(n/d) 但是为什么可以这样呢?而且为什么这个式子长得那么像狄利克雷卷积呢 实际上,μ(n)有个重要的性质: d|nΣμ(d)=[n=1] 也就是说(μ*1)(n)=ε(n)...
  • 利用最近发现的自旋束上的自旋场类型,通过可并行化的广义重构定理,从它们的双线性协变量中获得新的费米场。 使用可并行化上的调子束上的广义非缔合乘积,将这些新的代数旋转场场(提升到可并行化上)显示为在上的...
  • 题意: 已知有n户人,每户会给小孩们一定...思路:定理:  设a1、a2……am是正整数的序列,则至少存在整数k和l,(1  证明:x%m的余数有(m-1)中可能,即设有(m-1)个鸽巢,设sn代表(a1+a2+...+an)则m个sn产生m
  • 本蒟蒻的题解 #include"bits/stdc++.h" using namespace std; typedef long long ll; #define regi register int const int N=50005;int pri[N],cnt,mu[N],n;bool f[N]; void Linear_Shaker(){ ... for
  • 虽然有点长还是建议看这篇博客,大意就是通过子集和变换构造出函数F使得可以快速计算∑[0,+∞)F(当其收敛),然后通过消无穷,最后得出式子就可以辣。题解  #include"bits/stdc++.h" using namespace std;...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 443
精华内容 177
关键字:

反演定理