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

莫比乌斯反演

时间:2023-01-07 09:12:21浏览次数:31  
标签:lfloor frac limits 乌斯 sum rfloor 反演 莫比 td

莫比乌斯反演

  • 考虑狄利克雷前缀和的式子,\(g(n)=\sum\limits_{d\mid n} f(d)\)。

  • 知 \(f\) 求 \(g\) 是 naive 的;知 \(g\) 求 \(f\) 呢?

  • 首先上式等价于 \(g=f\ast I\),若我们有 \(inv_I\),则有 \(f=g\ast inv_I\)。

  • 求 \(inv_I\),得到 \(\mu\),于是 \(f=g\ast \mu\),即 \(f(n)=\sum\limits_{d\mid n} \mu(d)g(\frac{n}{d})\)。

  • 该式称为莫比乌斯反演,即对积卷积过程的反演。事实上,我们称 \(g\) 是 \(f\) 的莫比乌斯变换,\(f\) 是 \(g\) 的莫比乌斯逆变换(反演)。

  • 特别地,当 \(g=id,f=\varphi\),也称为欧拉反演。欧拉反演的应用比较狭窄,但有时比 \(\mu\ast I=\epsilon\) 的方法要简洁有力得多。

  • 所谓反演,就是已知 \(f,g\) 的某种关系,通常是容易 \(f\to g\) 的,要求逆向求出 \(f\) 关于 \(g\) 的表达式。

  • “反演的本质是将逻辑表达式改换成代数式,从而使其可以参与代数运算,为化式子提供机会”,这是我的某个前辈对反演的评价。

  • 在莫反中,其的表现主要是将 \(\sum\limits_d\) 交换到前面,于是原本在前的和式变成了。(以 \(\sum\limits_{i=1}^n f(i)\sum\limits_{d\mid i}\) 为例)形如 \(\sum\limits_{i=kd}^nf(i)\) 也即只在 \(d\) 的倍数处求和的和式,于是可以和整除分块相结合或者便于进一步化式子。

  • 既然提到了,那么也把整除分块放在这里。

整除分块

  • 考虑求 \(\sum\limits_{i=1}^n \lfloor\frac{n}{i}\rfloor\)。

引理:\(\forall a,b,c\in \mathbb{Z},\lfloor\frac{a}{bc}\rfloor=\lfloor\dfrac{\lfloor\frac{a}{b}\rfloor}{c}\rfloor\)。

  • 不妨设 \(\frac{a}{b}=k+r\),其中 \(k\in \mathbb{Z},r\in [0,1)\),于是

\[\begin{aligned} \lfloor\frac{a}{bc}\rfloor & =\lfloor\frac{1}{c}\times \frac{a}{b}\rfloor \\ & =\lfloor\frac{k}{c}+\frac{r}{c}\rfloor \\ \end{aligned} \]

  • 这里我们设 \(k=k'c+r'\),其中 \(k',r'\in \mathbb{Z}\),且 \(r'\in [0,c)\),于是

\[\begin{aligned} \lfloor\frac{a}{bc}\rfloor & =\lfloor\frac{k}{c}+\frac{r}{c}\rfloor \\ & =\lfloor k'+(r'+\frac{r}{c})\rfloor \end{aligned} \]

  • 注意到 \(r'<c\to c-r'\geqslant 1\),但 \(r<1\to \frac{r}{c}<1\),所以 \(r'+\frac{r}{c}<1\),于是

\[\begin{aligned} \lfloor\frac{a}{bc}\rfloor & =k' \\ & =\lfloor\frac{\lfloor\frac{a}{b}\rfloor}{c}\rfloor \end{aligned} \]

  • 证毕。

定理 1:\(\lfloor\frac{n}{i}\rfloor\) 只有 \(O(\sqrt{n})\) 种不同取值。

  • 记 \(sq=\lceil\sqrt{n}\rceil\)。

  • \(\forall i\leqslant sq\),\(i\) 只有 \(O(\sqrt{n})\) 种,显然 \(\lfloor\frac{n}{i}\rfloor\) 也只有 \(O(\sqrt{n})\) 种。

  • \(\forall i>sq\),\(\lfloor\frac{n}{i}\rfloor\leqslant sq\),于是 \(\lfloor\frac{n}{i}\rfloor\) 还是只有 \(O(\sqrt{n})\) 种。

  • 故 \(\lfloor\frac{n}{i}\rfloor\) 只有 \(O(\sqrt{n})\) 种取值,表现大概是这样

定理 2:\(\forall \lfloor\frac{n}{j}\rfloor=\lfloor\frac{n}{i}\rfloor,j_{\max}=\lfloor\dfrac{n}{\lfloor\frac{n}{i}\rfloor}\rfloor\)。

  • 不妨设 \(n=ki+r\),即 \(k=\lfloor\frac{n}{i}\rfloor\),于是有

\[k\leqslant \frac{n}{i}\to \lfloor\frac{n}{k}\rfloor \geqslant \lfloor\frac{n}{\frac{n}{i}}\rfloor=\lfloor i\rfloor=i \]

  • 换言之,\(\forall \lfloor\frac{n}{j}\rfloor=\lfloor\frac{n}{i}\rfloor,\lfloor\frac{n}{k}\rfloor \geqslant j\),故 \(\lfloor\frac{n}{k}\rfloor=\lfloor\dfrac{n}{\lfloor\frac{n}{i}\rfloor}\rfloor=j_{\max}\)。

  • 当然我们还要证明 \(\lfloor\frac{n}{k}\rfloor\) 是一个合法的 \(j\),即 \(\lfloor\dfrac{n}{\lfloor\frac{n}{k}\rfloor}\rfloor=\lfloor\frac{n}{i}\rfloor\)。

  • 将式子展开,得到

\[\lfloor\dfrac{n}{\lfloor\frac{n}{\lfloor\frac{n}{i}\rfloor}\rfloor}\rfloor=\lfloor\frac{n}{i}\rfloor \]

  • 考虑拆掉最里层的 \(\lfloor\rfloor\),发现 \(\lfloor\frac{n}{\lfloor\frac{n}{i}\rfloor}\rfloor\to \lfloor\frac{n}{\frac{n}{i}}\rfloor=\lfloor i \rfloor=i\) 是变小了,分母变小整体变大,故有

\[\lfloor\dfrac{n}{\lfloor\frac{n}{\lfloor\frac{n}{i}\rfloor}\rfloor}\rfloor\leqslant \lfloor\frac{n}{i}\rfloor \]

  • 考虑拆掉中间层的 \(\lfloor\rfloor\),发现分母变大整体变小,式子变为

\[\lfloor\dfrac{n}{\frac{n}{\lfloor\frac{n}{i}\rfloor}}\rfloor=\lfloor\lfloor\frac{n}{i}\rfloor\rfloor=\lfloor\frac{n}{i}\rfloor \]

  • 就是说,有

\[\lfloor\dfrac{n}{\lfloor\frac{n}{\lfloor\frac{n}{i}\rfloor}\rfloor}\rfloor\geqslant \lfloor\frac{n}{i}\rfloor \]

  • 联立,得到

\[\lfloor\dfrac{n}{\lfloor\frac{n}{\lfloor\frac{n}{i}\rfloor}\rfloor}\rfloor=\lfloor\frac{n}{i}\rfloor \]

  • 所以 \(\lfloor\dfrac{n}{\lfloor\frac{n}{i}\rfloor}\rfloor\) 既是最大的,又是合法的,所以它是段 \(\lfloor\frac{n}{i}\rfloor\) 的右端点。

  • 总之,整除分块可以用来快速求和。其也可以推广到多维,即 \(\sum\limits_{i=1}^{\min_{j=1}^{m} n_j} \prod\limits_{j=1}^m \lfloor\dfrac{n_j}{i}\rfloor\)。

  • 可以发现此时不同的 \(\prod\) 值只有 \(O(\sqrt{n}m)\) 种,因为对于左边界 \(l\),右边界为 \(\min_{j=1}^m \lfloor\dfrac{n_j}{\lfloor\frac{n_j}{l}\rfloor}\rfloor\),表现大概是这样:

例题

P1447 [NOI2010] 能量采集

  • 题意略。“太经典了,我每年都要讲”。

  • 手推+感性理解,很快发现 \((i,j)\) 是对应直线上的第 \(gcd(i,j)\) 个,造成 \(2gcd(i,j)-1\) 的能量损失。

  • 于是所求的答案可以做如下转换,这里认为 \(n\leqslant m\):

\[\begin{aligned} res & =\sum\limits_{i=1}^n \sum\limits_{j=1}^m gcd(i,j)\\ & =\sum\limits_{d=1}^n d \sum\limits_{i=1}^n \sum\limits_{j=1}^m [gcd(i,j)=d] \\ & =\sum\limits_{d=1}^n d \sum\limits_{i=1}^{\lfloor\frac{n}{d}\rfloor} \sum\limits_{j=1}^{\lfloor\frac{m}{d}\rfloor} [gcd(i,j)=1] \\ \end{aligned} \]

  • 若我们能快速求得 \(res\),则 \(ans=2res-nm\)。

  • 然后有一个经典的容斥:记 \(f(d)=\sum\limits_{i=1}^n \sum\limits_{j=1}^m [gcd(i,j)=d]\),\(g(d)=\sum\limits_{i=1}^n \sum\limits_{j=1}^m [d\mid gcd(i,j)]\),我们有

\[f(d)=g(d)-\sum\limits_{kd\leqslant n}f(kd) \]

  • 显然 \(g\) 可以 \(O(n)\) 地求得,但求 \(f\) 的过程是 \(O(n\ln n)\) 的。过原题够了,但若 \(n,m\leqslant 10^7\) 呢?

  • 这个容斥式子没啥希望了,它的形态就不优美,\(kd\)...我们转而考虑狄利克雷卷积和莫比乌斯反演。接着上面的式子推,我们有

\[\begin{aligned} res & =\sum\limits_{d=1}^n d \sum\limits_{i=1}^{\lfloor\frac{n}{d}\rfloor} \sum\limits_{j=1}^{\lfloor\frac{m}{d}\rfloor} [gcd(i,j)=1] \\ & =\sum\limits_{d=1}^n d \sum\limits_{i=1}^{\lfloor\frac{n}{d}\rfloor} \sum\limits_{j=1}^{\lfloor\frac{m}{d}\rfloor} \epsilon(gcd(i,j)) \\ & =\sum\limits_{d=1}^n d \sum\limits_{i=1}^{\lfloor\frac{n}{d}\rfloor} \sum\limits_{j=1}^{\lfloor\frac{m}{d}\rfloor} (\mu\ast I)(gcd(i,j)) \\ & =\sum\limits_{d=1}^n d \sum\limits_{i=1}^{\lfloor\frac{n}{d}\rfloor} \sum\limits_{j=1}^{\lfloor\frac{m}{d}\rfloor} \sum\limits_{t\mid gcd(i,j)} \mu(t) \\ & =\sum\limits_{d=1}^n d \sum\limits_{t=1}^{\lfloor\frac{n}{d}\rfloor} \mu(t) \sum\limits_{i=1}^{\lfloor\frac{n}{d}\rfloor} [t\mid i] \sum\limits_{j=1}^{\lfloor\frac{m}{d}\rfloor} [t\mid j] \\ & =\sum\limits_{d=1}^n d \sum\limits_{t=1}^{\lfloor\frac{n}{d}\rfloor} \mu(t) \lfloor\frac{n}{td}\rfloor \lfloor\frac{m}{td}\rfloor \\ \end{aligned} \]

  • 事实上,到这一步,我们已经可以 \(O(n)\) 地求出答案了。对内部式子使用整除分块,乍一看复杂度是 \(O(n\sqrt{n})\),实际上复杂度应为 \(\sum\limits_{d=1}^n \sqrt{\lfloor\frac{n}{d}\rfloor}\),可以积分分析到 \(O(n)\)。

  • 考虑多测,\(T\leqslant 10^5\)。那就继续化!发现这里我们每次都要重新整除分块,设法把这部分提出来。

\[\begin{aligned} res & =\sum\limits_{d=1}^n d \sum\limits_{t=1}^{\lfloor\frac{n}{d}\rfloor} \mu(t) \lfloor\frac{n}{td}\rfloor \lfloor\frac{m}{td}\rfloor \\ & =\sum\limits_{td=1}^n \lfloor\frac{n}{td}\rfloor \lfloor\frac{m}{td}\rfloor \sum\limits_{d\mid td} d\mu(\frac{td}{d}) \\ & =\sum\limits_{td=1}^n \lfloor\frac{n}{td}\rfloor \lfloor\frac{m}{td}\rfloor (id\ast\mu)(td) \\ & =\sum\limits_{td=1}^n \varphi(td)\lfloor\frac{n}{td}\rfloor \lfloor\frac{m}{td}\rfloor \end{aligned} \]

  • 线性筛 \(\varphi\) 的前缀和,然后整除分块,复杂度 \(O(n+T\sqrt{n})\)。

  • 事实上,我们可以使用欧拉反演:

\[\begin{aligned} res & =\sum\limits_{i=1}^n \sum\limits_{j=1}^m (i,j) \\ & =\sum\limits_{i=1}^n \sum\limits_{j=1}^m id((i,j)) \\ & =\sum\limits_{i=1}^n \sum\limits_{j=1}^m (\varphi\ast I)((i,j)) \\ & =\sum\limits_{i=1}^n \sum\limits_{j=1}^m \sum\limits_{d\mid i\And d\mid j} \varphi(d) \\ & =\sum\limits_{d=1}^n \varphi(d)\lfloor\frac{n}{d}\rfloor \lfloor\frac{m}{d}\rfloor \end{aligned} \]

  • 简洁有力...不要忘记尝试欧拉反演。

P3312 [SDOI2014] 数表

  • 题意:多测,求 \(\sum\limits_{i=1}^n \sum\limits_{j=1}^m [\sigma_0(gcd(i,j))\leqslant x]\times \sigma_0(gcd(i,j))\)。

  • 首先我们把 \(\sigma_0\) 筛出来,然后化式子,还是认为 \(n\leqslant m\):

\[res=\sum\limits_{d=1}^n \sigma_0(d)\times [\sigma_0(d)\leqslant a] \sum\limits_{i=1}^n \sum\limits_{j=1}^m [gcd(i,j)=d] \]

  • 很套路地卷一个 \(\epsilon\),快进到

\[res=\sum\limits_{td=1}^n \lfloor\frac{n}{td}\rfloor \lfloor\frac{m}{td}\rfloor \sum\limits_{d\mid td} \sigma_0(d)[\sigma_0(d)\leqslant a]\mu(\frac{td}{d}) \]

  • 发现这里化不下去,\(d=id\) 的美妙性质在这里没有了,还有一个恶心的逻辑表达式。

  • 考虑将所有数字按 \(\sigma_0\) 排序,定义一个函数

\[f(td)=\sum\limits_{d\mid td} \sigma_0(d)[\sigma_0(d)\leqslant a]\mu(\frac{td}{d}) \]

  • 问题变成求 \(f\) 的前缀和,考虑离线询问(我们做一个贡献法),按 \(a\) 升序排序,每次让 \(d\) 对所有 \(f(td)\) 贡献。

  • 既然 \(d\) 只会被扫到一次,那么此部分的总复杂度应为 \(O(n\ln n)\),\(\mu\) 可以线筛预处理,此时问题变成有多组询问,求

\[\sum\limits_{td=1}^n f(td)\lfloor\frac{n}{td}\rfloor \lfloor\frac{m}{td}\rfloor \]

  • 那么这就是一个很板的整除分块了。注意到 \(f\) 需要单点修改和区间查询,考虑使用树状数组维护之,于是总复杂度为 \(O(n\log^2+q\sqrt{n}\log)\),两部分分别是修改和查询的复杂度。

P2522 [HAOI2011] Problem b

  • 题意:求 \(\sum\limits_{i=a}^b \sum\limits_{j=c}^d [gcd(i,j)=d]\),多测。

  • 首先我们做一个二维差分,所求变成:

\[res(n,m)=\sum\limits_{i=1}^n \sum\limits_{j=1}^m [gcd(i,j)=d] \]

  • 卷 \(\epsilon\),快进:

\[res(n,m)=\sum\limits_{t=1}^{\lfloor\frac{n}{d}\rfloor} \mu(t) \lfloor\frac{n}{td}\rfloor \lfloor\frac{m}{td}\rfloor \]

  • 整除分块之,\(O(n+T\sqrt{n})\)。

  • 显然这两道题上欧拉反演都无用武之地,可见欧拉反演虽然简洁,却也局限,应用范围非常狭窄。

P2424 约数和

  • 题意:求 \(\sum\limits_{i=l}^r \sigma_0(i)\)。

  • 数据范围:\(l,r\leqslant 2\times 10^9\)。

  • 首先容易想到 \(\sigma_0=I\ast id\to \sigma_0\ast \mu=id\),于是可以杜。

  • 但本题只有单组询问,我们考虑直接莫反:

\[\begin{aligned} S\sigma_0(n) & =\sum\limits_{i=1}^n \sum\limits_{d\mid i} id(d) \\ & =\sum\limits_{d=1}^n id(d)\lfloor\frac{n}{d}\rfloor \end{aligned} \]

  • 结束,\(O(\sqrt{n})\)。

P2260 [清华集训2012] 模积和

标签:lfloor,frac,limits,乌斯,sum,rfloor,反演,莫比,td
From: https://www.cnblogs.com/weixin2024/p/17032112.html

相关文章

  • 欧拉函数与莫比乌斯函数的一些性质
    前置知识翡蜀定理与算数基本定理的证明积性函数若有一个数论函数\(f\)满足以下性质:\(\left(1\right)f\left(1\right)=1\)\(\left(2\right)\)若\(a,b\)互质,那么\(f\le......
  • P3704 [SDOI2017]数字表格——莫比乌斯反演
    莫比乌斯反演\(\color{red}{f(n)=\sum\limits_{d|n}}g(d)\Leftrightarrowg(n)=\sum\limits_{d|n}\mu(d)f(\dfrac{n}{d})\)例题:P3704[SDOI2017]数字表格题意:给出\(n,......
  • 狄利克雷卷积和莫比乌斯反演初探(施工中)
    0.前置知识瞅这1.狄利克雷卷积定义定义域为\(\mathbb{N_+}\)的函数称为数论函数。对于两个数论函数\(f,g\),其狄利克雷卷积为\(h(n)=\sum\limits_{d\midn}f(d)......
  • 莫比乌斯反演草稿纸
    这只小蒟蒻做莫比乌斯反演的练习题时用$\LaTeX$打了一些草稿,又不舍得扔掉,于是放在这个博客里供大家欣(tu)赏(cao)。P2257YY的GCD$$\text{求}\sum_{x=1}^n\sum_{y=1}^m[g......
  • HDU 6439 2018CCPC网络赛 Congruence equationI(杜教筛 + 莫比乌斯反演 + 伯努利数)
      大致题意:给你一个长度为k的序列a。对于序列c,当  时,;当时,取[0,m)中任意一个数字。令  表示满足  的序列c的方案数。现在让你求 。          ......
  • 莫比乌斯反演
    莫比乌斯函数 设正整数$x=p_1^{c_1}p_2^{c_2}...p_m^{c_m}$,定义函数 $\left(\begin{array}{ccc}1&2&3\\4&5&6\\7&8&9\\0&0&0\end{array}\right)$......
  • 拉格朗日反演学习记录
    \(\texttt{updating……}\)多项式复合对于多项式\(F(x),G(x)\),其复合为:\(F(G(x))=\sum_{i}[x^i]F(x)G(x)^i\)求法:设\(B=\sqrtn\)\[\begin{aligned}\sum_{i=0}^n[x......
  • 杂谈:二项式反演与多步容斥
    这是两个本质不同的东西。多步容斥是“至少或至多选若干个”到“恰好选若干个”的变换。而二项式反演是“钦定选若干个”到“恰好选若干个”的变换。二项式反演虽然形式上......
  • 一种关于子集异或和的冷门反演
    前言本文用集合的符号表示二进制数。具体地,定义全集\(u\)是\(2^n-1\),某个二进制数\(x\)第\(t\)位是1可以理解为为\(x\)中有\(t\)号元素,否则没有。定义\(|x|......
  • 浅谈快速莫比乌斯/沃尔什变换(FMT/FWT)
    前置知识多项式基础快速傅里叶变换/数论变换(FFT/FNTT)位运算(集合运算)引入·位运算卷积典型的FFT,NTT被用于解决加法卷积问题。具体地,它可以解决的基本问题是:给......