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

莫比乌斯反演

时间:2023-08-06 19:55:17浏览次数:38  
标签:lfloor frac gcd 乌斯 sum rfloor mu 反演 莫比

机房卷哥让我写的。

大部分是习题总结。

不如 Wiki

  • 两个积性函数 \(f,g\) ,它们的 狄利克雷卷积(Dirichlet卷积)

\[h(n)=(f * g)(n)=\sum_{d|n} f(d)g(\frac{n}{d}) \]

记为 \(h=f*g\) .

  • 狄利克雷卷积满足 交换律,结合律,且得到的函数也是 积性函数

定义

\[\epsilon(n)=\lbrack n=1 \rbrack,I(n)=1,id(n)=n \]

\(\epsilon\) 即该运算意义下的单位元,因为一定有

\[g(n)=(f * \epsilon)(n)=\sum_{d|n}f(d)\epsilon(\frac{n}{d})=f(n) \]

即 \(g=f,f=f*\epsilon\) .


常用函数的三个结论:

  • \(\mu * I=\epsilon\)

即证

\[\sum_{d|n}\mu(d)=\lbrack n=1 \rbrack \]

\(n=1\) 时显然成立。

设 \(n=\prod_{i=1}^{m}{p_i}^{c_i}\) ,当 \(d\) 有平方因子 ( 不包括 \(1\) ) 时贡献为 \(0\) .

令 \(n'=\prod_{i=1}^{m}p_i\) ,求 \(\sum_{d|n'}\mu(d)\) 即可。

容易发现 \(n\) 的所有质因子有 \(2^m\) 种组合,枚举质因子的个数,即

\[\sum_{i=0}^{m}(-1)^i C(m,i)=(-1+1)^m=0 \]

得证。

  • \(\varphi * I=id\)

即 \(\sum_{d|n}\varphi(d)=n\) ,这里不写。

  • \(id * \mu=\varphi\)

用的不会很多。

利用狄利克雷卷积的结合律,在前一个式子的两边乘上一个 \(\mu\) ,由 \(\mu * I=\epsilon\) 可推该式。


P3455 [POI2007]ZAP-Queries

求满足 \(1 \leq a \leq n\),\(1 \leq b \leq m\),且 \(\gcd(a,b)=d\) 的二元组 \((a,b)\) 的数量。

\(1 \leq T \leq 5 \times 10^4\),\(1 \leq d \leq n,m \leq 5 \times 10^4\)。

本文默认 \(n\le m\) .

令 \(n\rightarrow\lfloor\frac{n}{d}\rfloor,m\rightarrow\lfloor\frac{m}{d}\rfloor\) ,求

\[\sum_{i=1}^{n}\sum_{j=1}^{m}\lbrack gcd(i,j)=1 \rbrack \]

后面的艾弗森括号就等价于 \(\epsilon(gcd(i,j))\),展开得到

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

把 \(d\) 提到前面:

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

预处理 \(\mu\) 并做前缀和,询问时 \(O(\sqrt{n})\) 整除分块即可。


P2257 YY的GCD

条件变成 \(gcd\) 为质数。

\(1 \leq T \leq 10^4\),\(1 \leq n,m \leq 10^7\)。

枚举 \(gcd(i,j)\) 可得

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

\[\sum_{d=1}^{n}\lbrack d\in Prime\rbrack\sum_{p=1}^{\lfloor \frac{n}{d}\rfloor}\mu(p)\lfloor \frac{n}{dp}\rfloor\lfloor \frac{m}{dp}\rfloor \]

有一个trick,令 \(T=dp\) ,然后再把 \(T\) 提到前面去:

\[\sum_{T=1}^{n}\lfloor \frac{n}{T}\rfloor\lfloor \frac{m}{T}\rfloor\sum_{d|T}\mu(\frac{T}{d})\lbrack d\in Prime\rbrack \]

后半部分的东西可以 \(O(n\space log\space log\space n)\) 求出来,询问也是 \(O(\sqrt{n})\) 的。

还有trival的例题不写了。


  • 若 \(g(n)=\sum_{d|n}f(d)\) ,则 \(f(n)=\sum_{d|n}g(d)\mu(\frac{n}{d})\) .

  • 若 \(g(n)=\sum_{n|d}f(d)\) ,则 \(f(n)=\sum_{n|d}g(d)\mu(\frac{d}{n})\) .

这两个式子称为 莫比乌斯变换 。两个函数 不需要一定是积性函数

第一个:由 \(g=f * I\) 显然可以得到 \(f=g * \mu\) .

第二个:反推。

\[\sum_{n|d}g(d)\mu(\frac{n}{d}) \]

\[\sum_{d=1}\mu(d)g(nd) \]

\[\sum_{d=1}\mu(d)\sum_{nd|p}f(p) \]

\[\sum_{p=1}f(np)\sum_{d|p}\mu(d) \]

\[=f(n) \]


P3172 [CQOI2015]选数

一个长为 \(n\) ,值域为 \(L,R\) 的数列 \(A\) ,求

\[\sum_{A}\lbrack \gcd_{i=1}^{n}A_i=k\rbrack \]

\(n,L,R,k\le10^9,R-L\le10^5\) .

先将 \(L\rightarrow\lceil\frac{L}{k}\rceil\) , \(R\rightarrow\lfloor\frac{R}{k}\rfloor\) .

记 \(f(m)\) 为 \(gcd\) 刚好为 \(m\) 的种数,\(g(m)\) 为 \(gcd\) 为 \(m\) 的倍数的种数,那么 \(f(1)\) 即为所求。

容易得到:

\[g(m)=\sum_{m|d}f(d) \]

\[f(m)=\sum_{m|d}\mu(\frac{d}{m})g(d) \]

想一下怎么得到每一个 \(g(m)\) .

显然就是

\[g(m)=(\lfloor\frac{R}{m}\rfloor-\lfloor\frac{L-1}{m}\rfloor)^n \]

答案是

\[f(1)=\sum_{i=1}\mu(i)g(i) \]

一样的 \(g\) 可以整除分块,所以要做 \(\mu\) 的前缀和。

要用杜教筛,还没写到,可以往下翻,本题是一道典型的莫比乌斯变换。


几道比较有意义的题。

P3312 [SDOI2014]数表

肥肠有意思的题。

\[\sum_{i=1}^{n}\sum_{j=1}^{m}\sigma_1(gcd(i,j))\lbrack \sigma_1(gcd(i,j))\le a\rbrack \]

\(\sigma_1\) 是因子之和。

\(T\le 2\times 10^4,n,m\le 10^5 ,|a|\le 10^9\) .

不考虑 \(a\) ,那么

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

\[\sum_{d=1}^{n}\sigma_1(d)\sum_{p=1}^{\lfloor\frac{n}{d}\rfloor}\mu(d)\lfloor \frac{n}{dp}\rfloor\lfloor \frac{m}{dp}\rfloor \]

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

如果套上 \(a\) 直接做单次是 \(O(n\space log\space n)\) 的。

考虑离线,将所有的 \(\sigma_1(d)\) 和询问的 \(a\) 排序,更换询问时就能不重复地添加。

统计答案时要用到整除分块,所以应该得到一个区间和的形式,用树状数组实现操作。

这样复杂度就是 \(O(n\space log^2\space n+T\sqrt{n}\space log\space n)\) .


P3327 [SDOI2015]约数个数和

\[\sum_{i=1}^{n}\sum_{j=1}^{m}d(ij) \]

\(d\) 是约数个数,也可以写成 \(\sigma_0\) .

怎么算 \(d(ij)\) : \(i,j\) 的两个互质的约数相乘起来,产生的贡献是不重复的,也就是

\[\sum_{x|i}\sum_{y|j}\lbrack gcd(x,y)=1\rbrack \]

\[\sum_{p|gcd(i,j)}\mu(p)d(\frac{i}{p})d(\frac{j}{p}) \]

代回去:

\[\sum_{i=1}^{n}\sum_{j=1}^{m}\sum_{p|gcd(i,j)}\mu(p)d(\frac{i}{p})d(\frac{j}{p}) \]

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

就做完了。


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

这个也是简单模板,有个 \(lcm\) 而已。

\[\sum_{i=1}^{n}\sum_{j=1}^{m}lcm(i,j) \]

\(n,m\le 10^7\) .

\[\sum_{d=1}^{n}\sum_{i=1}^{n}\sum_{j=1}^{m}\frac{ij}{d}\lbrack gcd(i,j)=d\rbrack \]

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

把后面那个东西提出来单独做式子看起来舒服方便一点。

\[S(n,m)=\sum_{i=1}^{n}\sum_{j=1}^{m}ij\lbrack gcd(i,j)=1\rbrack \]

\[\sum_{d=1}^{n}\mu(d)\cdot d^2\sum_{i=1}^{\lfloor\frac{n}{d}\rfloor}\sum_{j=1}^{\lfloor\frac{m}{d}\rfloor}ij \]

后半可以整除分块。

代回去:

\[\sum_{d=1}^{n}d\cdot S(\lfloor\frac{n}{d}\rfloor,\lfloor\frac{m}{d}\rfloor) \]

也可以整除分块。

分块套分块的复杂度是 \(O(n^{\frac{3}{4}})\) 的。


P4466 [国家集训队]和与积

\[\sum_{1\le a<b\le n}\lbrack a+b|\space ab\rbrack \]

\(n<2^{31}\) .

当 \(gcd(a,b)=1\) 时,显然有 \(a+b\not|\space ab\) .

设 \(a=di,b=dj\) ,那么 \(i+j|\space ijd\) .

因为 \(i+j\not|\space ij\) ,所以 \(i+j|\space d\).

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

当 \(i>\sqrt{n}\) 时里面式子就恒为 \(0\) 了。

\[\sum_{i=1}^{\sqrt{n}}\sum_{j=1}^{i-1}\lfloor\frac{\lfloor\frac{n}{i}\rfloor}{i+j}\rfloor\lbrack gcd(i,j)=1\rfloor \]

\[\sum_{i=1}^{\sqrt{n}}\sum_{j=1}^{i-1}\lfloor\frac{\lfloor\frac{n}{i}\rfloor}{i+j}\rfloor\sum_{p|i,p|j}\mu(p) \]

\[\sum_{p=1}^{\sqrt{n}}\mu(p)\sum_{i=1}^{\lfloor\frac{\sqrt{n}}{p}\rfloor}\sum_{j=1}^{i-1}\lfloor\frac{\lfloor\frac{n}{ip}\rfloor}{ip+jp}\rfloor \]

\[\sum_{p=1}^{\sqrt{n}}\mu(p)\sum_{i=1}^{\lfloor\frac{\sqrt{n}}{p}\rfloor}\sum_{j=1}^{i-1}\lfloor\frac{\lfloor\frac{n}{ip^2}\rfloor}{i+j}\rfloor \]

暴力枚举 \(p,i\) ,后面的式子是可以整除分块的。


大家想看的东西。

P4213 【模板】杜教筛(Sum)

\[\sum_{i=1}^{n}\varphi(i) \]

\[\sum_{i=1}^{n}\mu(i) \]

\(T\le 10\) ,$ n<2^{31} $ .

设待求函数为 \(f\) ,其前缀和为 \(S\) ,且 \(h=f * g\) ,那么 \(h\) 的前缀和

\[\sum_{i=1}^{n}h(i)=\sum_{i=1}^{n}\sum_{d|i}g(d)f(\frac{i}{d}) \]

\[\sum_{d=1}^{n}g(d)S(\lfloor\frac{n}{d}\rfloor) \]

显然有

\[g(1)S(n)=\sum_{i=1}^{n}h(i)-\sum_{i=2}^{n}g(i)S(\lfloor\frac{n}{i}\rfloor) \]

任务是找到方便计算前缀和的 \(g,h\) ,简化原式的计算。

\(f=\varphi\) ,取 \(g=I,h=id\) ,\(h\) 的前缀和就是 \(\frac{n(n+1)}{2}\) ,\(g\) 的前缀和就是 \(n\) .

\(f=\mu\) ,取 \(g=I,h=\epsilon\) , \(h\) 的前缀和就是 \(1\) 。

大概预处理 \(10^6\) 级别的答案,询问时暴力整除分块,得到的答案可以用 \(map\) 或者 \(unordered\space map\) 存下来.

代码不放,自己去贺。

复杂度是 \(O(n^{\frac{2}{3}})\) 的。


大招

P1587 [NOI2016] 循环之美

\(\sum_{x=1}^{n}\sum_{y=1}^{m}\) ,\(\frac{x}{y}\) 为最简分数,且在 \(k\) 进制下是纯循环小数或整数。

\(n,m\le10^9,2 \le k \le 2\times10^3\)

设循环节长度为 \(l\) ,则 \(\frac{x}{y}\) 和 \(\frac{xk^l}{y}\) 的小数部分相等。

\[\frac{x}{y}-\lfloor\frac{x}{y}\rfloor=\frac{xk^l}{y}-\lfloor\frac{xk^l}{y}\rfloor \]

\[x-\lfloor\frac{x}{y}\rfloor* y=xk^l-\lfloor\frac{xk^l}{y}\rfloor* y \]

\[x\equiv xk^l\space (mod\space y) \]

由 \(\frac{x}{y}\) 为最简分数得 \(gcd(x,y)=1\) :

\[k^l\equiv 1\space (mod\space y) \]

答案就是

\[\sum_{i=1}^{n}\sum_{j=1}^{m}\lbrack gcd(i,j)=1\rbrack\lbrack gcd(j,k)=1\rbrack \]

其中的一种方法:

\[\sum_{j=1}^{m}\lbrack gcd(j,k)=1\rbrack\sum_{i=1}^{n}\sum_{d|gcd(i,j)}\mu(d) \]

\[\sum_{j=1}^{m}\lbrack gcd(j,k)=1\rbrack\sum_{d|j}^{n}\mu(d)\lfloor\frac{n}{d}\rfloor \]

\[\sum_{d=1}^{n}\mu(d)\lfloor\frac{n}{d}\rfloor\sum_{j=1}^{\lfloor\frac{m}{d}\rfloor}\lbrack gcd(dj,k)=1\rbrack \]

\[\sum_{d=1}^{n}\mu(d)\lfloor\frac{n}{d}\rfloor\lbrack gcd(d,k)=1\rbrack\sum_{j=1}^{\lfloor\frac{m}{d}\rfloor}\lbrack gcd(j,k)=1\rbrack \]

把后面那串式子记成

\[f(n)=\sum_{i=1}^{n}\lbrack gcd(i,k)=1\rbrack \]

显然有

\[f(n)=\lfloor\frac{n}{k}\rfloor\varphi(k)+f(n\space mod\space k) \]

\(k\) 以内的部分可以直接算。

考虑计算

\[g(n,k) =\sum_{d=1}^{n}\mu(d)\lbrack gcd(d,k)=1\rbrack \]

\[\sum_{d=1}^{n}\mu(d)\sum_{p|d,p|k}\mu(p) \]

\[\sum_{p|k}\mu(p)\sum_{p|d}\mu(d) \]

\[\sum_{p|k}\mu(p)\sum_{d=1}^{\lfloor\frac{n}{p}\rfloor}\mu(dp) \]

无效贡献对式子无影响,变成

\[\sum_{p|k}\mu(p)\sum_{d=1}^{\lfloor\frac{n}{p}\rfloor}\mu(dp)\lbrack gcd(d,p)=1\rbrack \]

\[\sum_{p|k}\mu(p)\sum_{d=1}^{\lfloor\frac{n}{p}\rfloor}\mu(d)\mu(p)\lbrack gcd(d,p)=1\rbrack \]

\[\sum_{p|k}\mu^2(p)\sum_{d=1}^{\lfloor\frac{n}{p}\rfloor}\mu(d)\lbrack gcd(d,p)=1\rbrack \]

\[\sum_{p|k}\mu^2(p)g(\lfloor\frac{n}{p}\rfloor,p) \]

边界值 \(g(0,k)=0\) ,\(g(n,1)=\sum_{d=1}^{n}\mu(d)\) .

然后就要用杜教筛。


P3768 简单的数学题

\[\sum_{i=1}^{n}\sum_{j=1}^{n}ij\cdot gcd(i,j) \]

答案对质数 \(p\) 取模 。

一个较妙的做法。

\[\sum_{i=1}^{n}\sum_{j=1}^{n}ij\cdot id(gcd(i,j)) \]

这里用到 \(\varphi * I =id\) .

\[\sum_{i=1}^{n}\sum_{j=1}^{n}ij\sum_{d|i,d|j}\varphi(d) \]

\[\sum_{d=1}^{n}\varphi(d)\sum_{d|i}\sum_{d|j}ij \]

\[\sum_{d=1}^{n}\varphi(d)\cdot d^2\cdot(\sum_{i=1}^{\lfloor\frac{n}{d}\rfloor}i)^2 \]

\(\lfloor\frac{n}{d}\rfloor\) 可以整除分块,里面的式子的前面和需要杜教筛。

也就是 \(f=\varphi\cdot id^2\) ,考虑取 \(g=id^2\) ,那么

\(h(n)=\sum_{d|n}f(d)g(\frac{n}{d})=n^2\cdot\sum_{d|n}\varphi(n)=n^3\) .

即 \(h=id^3\) .

然后杜教筛就不难了。


一道反演基础题?


P4240 毒瘤之神的考验

\[\sum_{i=1}^{n}\sum_{j=1}^{m}\varphi(ij) \]

\(T\le10^4,n,m\le10^5\) .

有个结论:

\[\varphi(ij)=\frac{\varphi(i)\varphi(j)d}{\varphi(d)} \]

\(d=(i,j)\) ,这个结论还是很好证的。

\[\sum_{d=1}^{n}\frac{d}{\varphi(d)}\sum_{i=1}^{\lfloor\frac{n}{d}\rfloor}\sum_{j=1}^{\lfloor\frac{m}{d}\rfloor}\varphi(id)\varphi(jd)\lbrack gcd(i,j)=1\rbrack \]

\[\sum_{d=1}^{n}\frac{d}{\varphi(d)}\sum_{p=1}^{\lfloor\frac{n}{d}\rfloor}\mu(p)\sum_{i=1}^{\lfloor\frac{n}{dp}\rfloor}\sum_{j=1}^{\lfloor\frac{m}{dp}\rfloor}\varphi(idp)\varphi(jdp) \]

\[\sum_{T=1}^{n}\sum_{d|T}\frac{d\mu(\frac{T}{d})}{\varphi(d)}\sum_{i=1}^{\lfloor\frac{n}{T}\rfloor}\varphi(iT)\sum_{j=1}^{\lfloor\frac{m}{T}\rfloor}\varphi(jT) \]

前面那坨函数记为 \(f(T)\) .

记 \(G(y,x)=\sum_{i=1}^{x}\varphi(iy)\) ,也就是

\[\sum_{T=1}^{n}f(T)\cdot G(\lfloor\frac{n}{T}\rfloor,T)\cdot G(\lfloor\frac{m}{T}\rfloor,T) \]

显然这个式子只能 \(O(n)\) ,直接T飞。

所以再记一个 \(S(y,z,x)=\sum_{T=1}^{x}f(T)\sum_{i=1}^{y}\varphi(iT)\sum_{j=1}^{z}\varphi(jT)\)

考虑递推,容易得到

\[G(y,x)=G(y,x-1)+\varphi(xy) \]

\[S(y,z,x)=S(y,z,x-1)+f(x)\cdot G(x,y)\cdot G(x,z) \]

接着就可以用牛逼分治,就是说设一个阈值 \(B\) ,对于 \(\lfloor\frac{n}{T}\rfloor\le B\) 的部分直接算,后面的再用分块算,有点不好看懂放个代码。

int query(int n,int m){
	if(n>m)swap(n,m);
	int ret=0;
	for(int i=1;i<=m/B;i++)
		(ret+=1ll*f[i]*G[i][n/i]%Mod*G[i][m/i]%Mod)%=Mod;
	for(int x=m/B+1,gx;x<=n;x=gx+1){
		gx=min(n/(n/x),m/(m/x));
		(ret+=(S[n/x][m/x][gx]-S[n/x][m/x][x-1]+Mod)%Mod)%=Mod;
	}
	return ret;
}

算下复杂度是 \(O(n\space ln\space n+nB^2+T(\sqrt{n}+\frac{n}{B}))\) .

平衡复杂度不太会算,应该是取 \(B=T^{\frac{1}{3}}\) ,平衡复杂度 \(O(n\space ln\space n+T\sqrt{n}+nT^{\frac{2}{3}})\) .

所以就是牛逼东西。


P5572 [CmdOI2019]简单的数论题

这道题也是一样的trick.

\[\sum_{i=1}^{n}\sum_{j=1}^{m}\varphi\Big(\frac{lcm(i,j)}{gcd(i,j)}\Big) \]

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

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

\[\sum_{d=1}^{n}\sum_{p=1}^{\lfloor\frac{n}{d}\rfloor}\mu(p)\sum_{i=1}^{\lfloor\frac{n}{dp}\rfloor}\varphi(ip)\sum_{j=1}^{\lfloor\frac{m}{dp}\rfloor}\varphi(jp) \]

\[\sum_{T=1}^{n}\sum_{d|T}\mu(d)\sum_{i=1}^{\lfloor\frac{n}{T}\rfloor}\varphi(id)\sum_{j=1}^{\lfloor\frac{m}{T}\rfloor}\varphi(jd) \]

一样记 \(G(y,x)=\sum_{i=1}^{x}\varphi(iy)\) ,

\(S(y,z,x)=\sum_{T=1}^{x}\sum_{d|T}\mu(d)\cdot G(d,y)\cdot G(d,z)\)

那么

\[G(y,x)=G(y,x-1)+\varphi(xy) \]

\[S(y,z,x)=S(y,z,x-1)+\sum_{d|x}\mu(d)\cdot G(y,d)\cdot G(z,d) \]

阈值为 \(B\) ,算下时间应该是 \(O(B^2\space n\ln n+T(\sqrt{n}+\frac{n}{B}\ln\frac{n}{B}))\) .

平衡复杂度不会算就乱取一个。


P3700 [CQOI2017] 小 Q 的表格

\(n\times n\) 的表格满足:

\[f(a,b)=f(b,a) \]

\[b\times f(a,a+b)=(a+b)\times f(a,b) \]

一开始有 \(f(a,b)=a\times b\),满足表格的条件。

\(m\) 次操作,每次一个格子的数被修改且波及其他格子。然后给出 \(k\),求左上角 \(k\times k\) 的矩阵的数之和。答案对 \(\rm 1e9+7\) 取模。

\(m\le10^4\),\(n\le 4\times10^6\),值域 \(\rm 1e18\).

从表格的对称性入手:

\[\gcd(a,a+b)=\gcd(a+b,a)=\gcd(a,a+b-a)=\gcd(a,b) \]

所以修改 \((a,b)\) 的值会影响到 \(\gcd(x,y)=\gcd(a,b)\) 的 \((x,y)\) 的值。

转换一下第二个式子:

\[\frac{f(a,b)}{a\times b}=\frac{f(a,a+b)}{a\times(a+b)} \]

辗转相除的过程中一直递归下去:

\[\frac{f(a,b)}{a\times b}=\frac{f((a,b),(a,b))}{(a,b)^2} \]

那么

\[d\leftarrow (a,b),f(a,b)=\frac{ab}{d^2}\cdot f(d,d) \]

记 \(f(d,d)\) 为 \(f(d)\),即求

\[\sum_{i=1}^{n}\sum_{j=1}^{n}\frac{ij}{d^2}\cdot f(d,d) \]

枚举 \(\gcd\):

\[\sum_{d=1}^{n}f(d)\sum_{i=1}^{\lfloor\frac{n}{d}\rfloor}\sum_{j=1}^{\lfloor\frac{n}{d}\rfloor}[i\perp j]ij \]

后面的式子由于有

\[\sum_{i=1}^{n}[i\perp n]i=\frac{n\varphi(n)+\epsilon(n)}{2} \]

思考一下就变成了

\[\sum_{d=1}^{n}f(d)\sum_{i=1}^{\lfloor\frac{n}{d}\rfloor}i^2\varphi(i) \]

记 \(\displaystyle S(n)=\sum_{i=1}^{n}i^2\varphi(i)\),就可以整除分块了。

然后发现 \(f\) 是动态的而且还要作前缀和。

不考虑数据结构的复杂度是 \(O(m\sqrt{n})\) 的。

\(O(1)\) 查询不难想到分块,把 \(f\) 变为前缀和序列,单点修改改为区间修改,这样总复杂度 \(O(m\sqrt{n})\).

分块被卡成了儿子。。。树状数组跑得十分快。

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

相关文章

  • 正泰电力携手图扑:VR 变电站事故追忆反演
    VR(VirtualReality,虚拟现实)技术作为近年来快速发展的一项新技术,具有广泛的应用前景,支持融合人工智能、机器学习、大数据等技术,实现更加智能化、个性化的应用。在电力能源领域,VR技术在高性能计算机和专有设备支持下,已被应用于变电站的培训和安全管理。大力提升了变电站的运行效......
  • 算法学习笔记(24): 狄利克雷卷积和莫比乌斯反演
    狄利克雷卷积和莫比乌斯反演看了《组合数学》,再听了学长讲的……感觉三官被颠覆……目录狄利克雷卷积和莫比乌斯反演狄利克雷卷积特殊的函数函数之间的关系除数函数和幂函数欧拉函数和恒等函数莫比乌斯函数和欧拉函数卷积的逆元莫比乌斯函数与莫比乌斯反演求法数论分块(整除分......
  • ENVI大气校正方法反演Landsat 7地表温度
    本文介绍基于ENVI软件,实现对Landsat7遥感影像加以大气校正方法的地表温度反演操作。目录1图像前期处理与本文理论部分2实际操作2.1植被覆盖度计算2.2地表比辐射率计算2.3相同温度下黑体辐射亮度值计算2.4地表真实温度计算2.5图像导出3专题地图制作4不同地物地表温度对......
  • 莫比乌斯反演学习笔记
    莫比乌斯反演数论函数数论函数是指定义域为正整数的一类函数。基本的数论函数恒等函数\(I(n)=1\)元函数\(e(n)=[n=1]\)单位函数\(id(n)=n\)莫比乌斯函数$$\mu(n)=\begin{cases}0,&n的约数中包含大于1的完全平方数\(-1)^k,&k为x含有的质因子种类数\end{cases}$$欧......
  • 莫比乌斯反演
    函数定义\[\begin{aligned}\\I(n)&=1\\\epsilon(n)&=[n=1]\\id(n)&=n\end{aligned}\]卷积定义\[(f*g)(x)=\sum\limits_{d|n}f(d)g(\dfrac{n}{d})\]有以下性质:\[\begin{aligned}f*g&=g*f\\(f*g)*h&=f*(g*h)\......
  • 拉格朗日反演
    前置引理首先设\(\Bbb{C}[[x]]=\{\sum\limits_{i\ge0}a_ix^i|a_i\in\Bbb{C}\},\Bbb{C}((x))=\{\sum\limits_{i\ge-N}a_ix^i|N\inZ,a_i\in\Bbb{C}\}\)有以下引理:\(f(x)\in\Bbb{C}((x)),[x^{-1}]f'(x)=0\)显然,因为没有一个幂次项求导后是\(-1\)次项。\(f(......
  • 二项式反演
    第一种形式:\[f(n)=\sum\limits_{i=0}^n\dbinom{n}i{g(i)}\Leftrightarrowg(n)=\sum\limits_{i=0}^n(-1)^{n+i}\dbinomnif(i)\]证明:\[\begin{aligned}f(n)&=\sum\limits_{i=0}^n\dbinom{n}i{g(i)}=\sum\limits_{i=0}^n\dbinomni\sum\limits_{j=0......
  • 单位根反演
    命题如下:$$\forallk\inZ,[n|k]=\frac{1}{n}\sum\limits_{i=0}{n-1}\omega_n$$证明:设$[n|k]=1$,则根据单位根性质,我们可以得到:$$\sum\limits_{i=0}{n-1}\omega_n=n$$设$[n|k]=0$,则:$$\sum\limits_{i=0}{n-1}\omega_n=\frac{\omega_n{nk}-1}{\omega_n-1}=0$$由此可知......
  • 莫比乌斯函数与反演
     莫比乌斯函数的原式是u(n)={1,n=1(-1)^r,n=p1*p2*p3*......*pr 其中p为不同的质数                       0,其他}它有两种解法,分别是欧拉筛和杜教筛下面给出欧拉筛的代码:#include<bits/stdc......
  • 莫比乌斯反演学习笔记
    狄利克雷卷积对于两个数论函数$f(x)$和$g(x)$,他们的卷积结果$h(x)$定义为$h(x)=\sum_{d|x}^{}f(d)g(\frac{x}{d})=\sum_{ab=x}^{}f(a)g(b) $即$h=f*g$满足交换律,结合律,分配律。莫比乌斯函数 $$\mu(n)=\left\{\begin{matrix}1 &n=1\\0 &n含有平方因子\\(-1......