ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

模板 - 数学 - 数论 - 莫比乌斯反演 - 2

2019-03-08 12:51:25  阅读:236  来源: 互联网

标签:lfloor frac limits sum rfloor 反演 莫比 kx 模板


示例:

1.经典问题 求 $f(x,n,m)=\sum\limits_{i=1}^{n}\sum\limits_{j=1}^{m}[gcd(i,j)==x]$ :

答案: $f(x,n,m) = \sum\limits_{k=1}\mu(k){\lfloor{\frac{n}{kx}}}\rfloor{\lfloor{\frac{m}{kx}}\rfloor}$

 

构造: $F(x,n,m) = \sum\limits_{x|d}f(d) = \sum\limits_{k=1}f(kx) =\sum\limits_{k=1}\sum\limits_{i=1}^{n}\sum\limits_{j=1}^{m}[gcd(i,j)==kx] = {\lfloor{\frac{n}{x}}}\rfloor{\lfloor{\frac{m}{x}}\rfloor}$ (只要 $i,j$ 都是 $x$ 的倍数, $gcd(i,j)$ 一定是某个 $x$ 的 $k$ 倍)

反演: $f(x,n,m) = \sum\limits_{x|d}\mu(\frac{d}{x})F(d) = \sum\limits_{k=1}\mu(k)F(kx) = \sum\limits_{k=1}\mu(k){\lfloor{\frac{n}{kx}}}\rfloor{\lfloor{\frac{m}{kx}}\rfloor}$

当 $kx>min(n,m)$ 的时候 $f(kx)=0$

 

当 $x=1$ 时,代入公式得 $f(1,n,m) = \sum\limits_{k=1}\mu(k){\lfloor{\frac{n}{k}}}\rfloor{\lfloor{\frac{m}{k}}\rfloor}$ ,所以 $f(x,n,m)=f(1,\lfloor\frac{n}{x}\rfloor,\lfloor\frac{m}{x}\rfloor)$

 

2.经典问题求 $f_2(n,m) = \sum\limits_{i=1}^{n}\sum\limits_{j=1}^{m}gcd(i,j)$ :

答案:$f_2(n,m) = \sum\limits_{x=1}x \sum\limits_{k=1}\mu(k){\lfloor{\frac{n}{kx}}}\rfloor{\lfloor{\frac{m}{kx}}\rfloor}$

 

这一次我们要求所有的 gcd 的和,显然所求为 $f_2(n,m) = \sum\limits_{x=1}xf(x,n,m)$ 。也就是所有的 gcd 的个数乘上这个gcd本身的值。

 $f_2(n,m) = \sum\limits_{x=1}xf(x,n,m) = \sum\limits_{x=1}xf(1,\lfloor\frac{n}{x}\rfloor,\lfloor\frac{m}{x}\rfloor) = \sum\limits_{x=1}x \sum\limits_{k=1}\mu(k){\lfloor{\frac{n}{kx}}}\rfloor{\lfloor{\frac{m}{kx}}\rfloor}$

 

3.经典问题 求 $f_3(n,m,k)=\sum\limits_{i=1}^{n}\sum\limits_{j=1}^{m}gcd(i,j)^k$ 

答案:$f_3(n,m,k)= \sum\limits_{x=1}x^k \sum\limits_{k=1}\mu(k){\lfloor{\frac{n}{kx}}}\rfloor{\lfloor{\frac{m}{kx}}\rfloor}$

这一次我们要求所有的 gcd 的k次方,显然所求为 $f_3(n,m,k)=\sum\limits_{x=1}x^kf(x,n,m)$ 。也就是所有的 gcd 的个数乘上这个 gcd 的 k 次方值。

 

 $f_3(n,m,k) = \sum\limits_{x=1}x^k f(x,n,m) = \sum\limits_{x=1}x^k f(1,\lfloor\frac{n}{x}\rfloor,\lfloor\frac{m}{x}\rfloor) = \sum\limits_{x=1}x^k \sum\limits_{k=1}\mu(k){\lfloor{\frac{n}{kx}}}\rfloor{\lfloor{\frac{m}{kx}}\rfloor}$

 

4.求给定的 n 个数中有多少个四元组 (a,b,c,d) 的 gcd==1 :

f(t) = 求给定的 n 个数中有多少个四元组 (a,b,c,d) 的 gcd==t ,

F(t) = 求给定的 n 个数中有多少个四元组 (a,b,c,d) 的 gcd==kt 。

那么我们要求 f(1) ,应用倍数公式后,只要快速求解每一个 F(t) 就足够了。由于 k 是任意的,所以 gcd 被我们去掉了,我们只需要求 t 的倍数有m个,然后 $C_m^4$ 就是 F(t)。


参考资料:

https://blog.csdn.net/jk_chen_acmer/article/details/82712276

 

标签:lfloor,frac,limits,sum,rfloor,反演,莫比,kx,模板
来源: https://www.cnblogs.com/Yinku/p/10494980.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有