莫比乌斯反演

复习了一下

感觉做的题都是第二种类型的mobius反演

1.YY的gcd

有好几题都是这个扩展出去的

什么区间-区间就是容斥一下

还有不能重复的 就减去$f(b,b)/2$就可以了

2.[SDOI2015]约数个数和

这题用到一个比较技巧的东西,

$f(x)$代表x的约数个数

$f(nm)= \sum_{i=1}^{n} \sum_{j=1}^{m} i|n,j|m,gcd(i,j)==1$

推式子反正网上都有。。打起来太麻烦了。。

基本套路就是搞出gcd(i,j)==1这个单独在一起(就是不能和其他变量发生乘法除法)

然后反演成什么n/x m/x之类的形式

最后除法分块

说个东西 /表示向下取整 \表示正常除法 a/(b*c) (a/b)/c

考虑怎么去证明它

首先a/(b*c)=(a\b)/c a\b>=a/b

所以我们要相差最多 应该要构造a=k*b*c-1

这样第一个式子为k-1,而第二个式子((k*b*c-1)/b)/c=k-1

命题得证

3.洛谷P1829 [国家集训队]Crash的数字表格

 这题前面还是比较套路

https://www.cnblogs.com/ljh2000-jump/p/6358095.html

到最后一步需要求$\sum{mu(t)*t}  \ t|n$ 这个可以用线性筛来求

至于这个为什么是积性函数

1.两个积性函数相乘还是积性函数 所以

2.两个积性函数的卷积还是积性函数

卷积的定义是$h(x)=f(t)*g(x/t) \ t|x$

https://www.cnblogs.com/Wuweizheng/p/8640319.html 这里讲了几个经典的

其他的比较简单

相对比较难的是线性筛约数和

直接复制一段过来。。

1、对n质因数分解,n=p1^k1 * p2^k2 * p3^k3 ……

则n的约数个数为(k1+1)*(k2+1)*(k3+1)……

2、线性筛素数时,用i和素数pj来筛掉 i*pj,

其中pj一定是i*pj的最小素因子

如果i是pj的倍数,pj也是i的最小素因子

设t[i] 表示i的约数个数,e[i] 表示i的最小素因子的个数

A、如果i是质数,t[i]=2,e[i]=1

B、如果i不是质数,枚举已有的质数pj i*pj的最小素因子是pj

1、如果i是pj的倍数那么e[i]即为i中包含的pj的个数,所以i*pj中包含的pj的个数为e[i]+1

       所以e[i*pj]=e[i]+1,t[i*pj]=t[i]/(e[i]+1)*(e[i]+2)

2、如果i不是pj的倍数,e[i*pj]=1,t[i*pj]=t[i]*t[pj](积性函数的性质)=t[i]*2(素数的约数个数=2)

from:https://www.cnblogs.com/TheRoadToTheGold/p/8228969.html#_label1

posted @ 2018-11-13 17:17  尹吴潇  阅读(157)  评论(0编辑  收藏  举报