首页 > 其他分享 >莫比乌斯反演

莫比乌斯反演

时间:2023-06-07 11:02:37浏览次数:47  
标签:lfloor frac gcd 乌斯 sum rfloor 反演 莫比 prod

这里讲述几个莫比乌斯反演的套路技巧。我们从一道道例题讲起。

  • \(\sum_{i=1}^{n}\sum_{j=1}^{n} [gcd(i,j)=1]=\sum_{i=1}^n \mu(i)\lfloor \frac{n}{i}\rfloor^2\)

这就是一般公式 \([gcd(i,j)=1]=\sum_{d|i,d|j}^n \mu(d)\) 的衍生,不会做不了题。

  • 暴力算 \(\gcd\) 转换为枚举最大公约数

例题1 P2568 GCD

给定正整数 \(n\),求 \(1\le x,y\le n\) 且 \(\gcd(x,y)\) 为素数的数对 \((x,y)\) 有多少对。

思路点拨

如果我们暴力的去枚举一个个 \(x,y\) ,缓慢的算出 \(\gcd\) 之后还判断是不是素数,这样会超时。但是我们转念一想,我们可以枚举 \(\gcd\) 的那么素数

\[\sum_{i=1}^n\sum_{j=1}^n[\gcd(i,j)\in S_{prime}] \]

\[=\sum_{d\in S_{prime},d\leqslant n} \sum_{i=1}^n\sum_{j=1}^n [\gcd (i,j)=d] \]

\[=\sum_{d\in S_{prime},d\leqslant n} \sum_{i=1}^{\lfloor\frac{n}{d}\rfloor}\sum_{j=1}^{\lfloor\frac{n}{d}\rfloor}[\gcd(i,j)=1] \]

接下来就会有两种做法,欧拉函数或者莫反,这里讲述莫反,就是套上述的套路一。

\[=\sum_{d\in S_{prime},d\leqslant n} \sum_{i=1}^{\lfloor\frac{n}{d}\rfloor} \mu(i)\lfloor \frac{n}{id}\rfloor^2 \]

这样运用富比尼定理就可以 \(O(n\sqrt n)\) 了。但是不可以通过。

  • 令 \(T=id\) 并且枚举T

这样往往可以优化时间。

\[=\sum_{T=1}^{n}\lfloor \frac{n}{T}\rfloor^2\sum_{d\in S_{prime},d|T}\mu(\frac{T}{d}) \]

左边富比尼定理,右边筛法算就可以了。

  • 分母分子分开算

  • \(lcm\) 转 \(\gcd\)

有时候我们需要计算的东西是一堆分数的乘积并且取余数,那么就可以这样降低思考难度。

例题二 P5221 Product

\[\prod_{i=1}^N\prod_{j=1}^N\frac{lcm(i,j)}{gcd(i,j)}\ (\bmod\ 104857601) \]

我们知道,在膜意义下的运算,分母是会被运用欧拉定理转化为幂的形式的,所以有交配律,原式就可以被转化为:

\[=\frac{\prod_{i=1}^N\prod_{j=1}^Nlcm(i,j)}{\prod_{i=1}^N\prod_{j=1}^Ngcd(i,j)}\ (\bmod\ 104857601) \]

莫反不好考虑 \(lcm\) ,转化为 \(gcd\) :

\[=\frac{\prod_{i=1}^N\prod_{j=1}^Nij}{\prod_{i=1}^N\prod_{j=1}^Ngcd^2(i,j)}\ (\bmod\ 104857601) \]

分开考虑,先从简单的分子下手:

\[\prod_{i=1}^N\prod_{j=1}^N ij=\prod_{i=1}^N i^N (n!)^N=(n!)^{2N} \]

在考虑分母,平方先去掉,最后再一起算。

\[=\prod_{i=1}^N\prod_{j=1}^Ngcd(i,j) \]

我们按照上边的套路,取枚举 \(\gcd\) ,原式可以转化为:

\[=\prod_{d=1}^{N}d^{\sum_{i=1}^n\sum_{j=1}^n [\gcd(i,j)=d]} \]

考虑幂次的部分,记得欧拉降幂不然会WA:

\[\sum_{i=1}^n\sum_{j=1}^n [\gcd(i,j)=d]=\sum_{i=1}^{\lfloor\frac{n}{d}\rfloor}\sum_{j=1}^{\lfloor\frac{n}{d}\rfloor} [\gcd(i,j)=1] \]

这个东东欧拉函数算就可以了。但是莫比乌斯函数也不是不行。

最后我们讲一道略难的综合题。

例题三 [SDOI2017]数字表格

题目背景

Doris 刚刚学习了 fibonacci 数列。用 \(f_i\) 表示数列的第 \(i\) 项,那么

\[f_0=0,f_1=1 \]

\[f_n=f_{n-1}+f_{n-2},n\geq 2 \]

题目描述

Doris 用老师的超级计算机生成了一个 \(n\times m\) 的表格,

第 \(i\) 行第 \(j\) 列的格子中的数是 \(f_{\gcd(i,j)}\),其中 \(\gcd(i,j)\) 表示 \(i,j\) 的最大公约数。

Doris 的表格中共有 \(n\times m\) 个数,她想知道这些数的乘积是多少。

答案对 \(10^9+7\) 取模。

思路点拨

我们知道,斐波拉契数列这东西一下求这么多和并不好算,但是因为 \(n,m \leqslant 10^6\) ,所以最多只会有 \(10^6\) 个数被访问,我们直接想到枚举下标。

\[\prod_{d=1}^{n}f_{d}^{\sum_{i=1}^n\sum_{j=1}^m[\gcd(i,j)=d]} \]

  • 套路把 \(d\) 给提出来(之前都用了很多遍了)

\[\prod_{d=1}^{n}f_{d}^{\sum_{i=1}^{\lfloor\frac{n}{d}\rfloor}\sum_{j=1}^{\lfloor\frac{m}{d}\rfloor}[\gcd(i,j)=1]} \]

注意,这里是体现莫比乌斯函数优越性的地方了,应为 \(n,m\) 不相等,所以欧拉函数就不好算了。我们把分母拎出来,并且使用公式 :

\[\sum_{i=1}^{\lfloor\frac{n}{d}\rfloor}\sum_{j=1}^{\lfloor\frac{m}{d}\rfloor}[\gcd(i,j)=1]= \sum_{t=1}^{\lfloor\frac{n}{d}\rfloor}\mu(\lfloor\frac{n}{d}\rfloor)\lfloor\frac{n}{td}\rfloor \lfloor\frac{m}{td}\rfloor \]

带入原式中,并且使用 \(T=td\) 替换:

\[=\prod_{d=1}^{n}f_{d}^{\sum_{t=1}^{\lfloor\frac{n}{d}\rfloor}\mu(t)\lfloor\frac{n}{td}\rfloor \lfloor\frac{m}{td}\rfloor} \]

\[=\prod_{T=1}^{n}(\prod_{d|T}f_{d}^{\mu(\frac{T}{d})})^{\lfloor\frac{n}{T}\rfloor \lfloor\frac{m}{T}\rfloor} \]

括号里面的就预处理,一个筛法,随便写。外面的根幂次有关的就考虑富比尼定理求解。时间复杂度 \(O(n \log n+T\sqrt n)\)

在知道了上面的小套路之后,简单的莫反(紫左右)大部分是可以写了。

下面再给出一些综合运用的例题:

[国家集训队]Crash的数字表格 / JZPTAB

P3327 [SDOI2015]约数个数和

最小公倍数之和

  • 这题中涉及到了另一个有意思的想法就是通过对序列中的数计数而转化为更一般的问题,请读者自行探索。有一点难。

标签:lfloor,frac,gcd,乌斯,sum,rfloor,反演,莫比,prod
From: https://www.cnblogs.com/Diavolo/p/17462731.html

相关文章

  • 二项式反演两题
    例题一[JSOI2011]分特产题目描述JYY带队参加了若干场\(\text{ACM/ICPC}\)比赛,带回了许多土特产,要分给实验室的同学们。JYY想知道,把这些特产分给\(n\)个同学,一共有多少种不同的分法?当然,JYY不希望任何一个同学因为没有拿到特产而感到失落,所以每个同学都必须至少分得一个......
  • 【反演】基于遗传算法实现均匀地层模型随钻电磁波测井反演附matlab代码
    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。......
  • 子集反演
    什么是子集反演?当然在此之前说明子集反演是什么:子集反演用于在恰好是某个子集和在这个子集中钦定/钦定这个子集之间转换。并且子集反演有两种形式。第一种:现在有一个集合\(A\),我们定义\(f(A)\)表示集合\(A\)的答案,\(g(A)\)表示\(A\)的所有子集的答案。如果有......
  • 莫比乌斯反演
    莫比乌斯反演的题主要是构造\(F(n)\)以及\(f(n)\)例题老地方......
  • 莫比乌斯反演与最大公约数
    在数论中,有很多题目都与莫比乌斯反演有关,最典型的就是最大公约数。比如你可以见到如下常见问题。(1)已知,求为质数的的对数,或者等于1的的对数。(2)已知和,求为质数的的对数,或者等于1的的对数。(3)已知,求的对数。(4)已知和,求的对数。上面的问题其实都可以用莫比乌斯反演来解,时间复杂度都还可以......
  • 浅谈反演
    浅谈反演二项式反演\(g_i=\sum\limits_{j=0}\binom{i}{j}f_j,f_i=\sum\limits_{j=0}(-1)^{i-j}\binom{i}{j}g_j\)还有一个的形式\(g_i=\sum\limits_{j=i}\binom{j}{i}f_j,f_i=\sum\limits_{j=i}(-1)^{i-j}\binom{j}{i}g_j\)这里只针对第一个形式,为了得到更普遍的反演,这里我......
  • 容斥与反演技巧(三)
    Min-Max容斥简单来说,由于\(\mathbbE[\max(x,y)]\neq\max(\mathbbE[x],\mathbbE[y])\),而如果计算\(\mathbbE[\min(x,y)]\)比计算\(\mathbbE[\max(x,y)]\)容易得多,我们就通常使用min-max容斥转为计算\(\mathbbE[\min(x,y)]\)。对于上面这种\(x,y\)的情况,实际上......
  • 莫比乌斯反演常见的三个模型
    莫比乌斯反演常见模型模型1:\(\sum_{i=1}^n\sum_{j=1}^m[gcd(i,j)=t]\)\[\begin{aligned}\sum_{i=1}^n\sum_{j=1}^m[gcd(i,j)=t]&=\sum_{i=1}^{\lfloor\frac{n}{t}\rfloor}\sum_{j=1}^{\lfloor\frac{m}{t}\rfloor}[gcd(i,j)=1]\\&=\sum_{i=1}^{\lfloor\f......
  • 莫比乌斯反演学习笔记(内涵反演详细推导和证明!)
    莫比乌斯反演前言记得上次学这个东西已经是一年前了,题到没有做过几道……一些有趣的东西莫比乌斯这个人还是很nb的,相信大家都听说过莫比乌斯带,就是他发现的,跟所有数学大佬一样的,他还喜欢天文学和物理废话不扯多了前置知识整除分块一个在数论计算中异常常见的东西,一般和......
  • 拉格朗日反演公式(lagrange inversion)组合证明
    Thereisasimplecombinatorialproof.Theoriginalformis\[[t^n]w^k=\frac{k}{n}[t^{n-k}]\phi^k\]where\(w=t\phi(w)\)consider\(w\)asegf.ofthewaysofsometrees.\(\phi\)asageneratingruleconcerningdegree.\[n![x^n]\frac{w^k}{k......