标签:tab 最大 来替 变形 原函数 class 内容 公约数 接受
虽然标题是狄利克雷卷积 & 莫比乌斯反演,但这篇文章应该说重在自己对于莫比乌斯反演 + 线性筛的一些感受。
在正文开始之前感谢一下几篇论文 & 博客以及一位大佬 remoon_OFN。
1. 2016国家集训队论文任之洲《积性函数求和的几种方法》
2. PoPoQQQ 的相关题解(%%%)。
3. 当然除此之外还有很多……
其实两三个月之前我就已经接触过反演了,但在那个时候对反演完全是一种懵逼的状态。重点其实还是在于通过自己多推式子,多化式子来理解和接受卷积的这样一种运算。当然,丰富的数论知识也是必不可少的(有时候一些题目会用到一些奇奇怪怪的性质)。总之,反演是一个非常神奇的算法:
内容为:若我们有 \(f = 1 * g\)
则有 \(g = \mu * f\)
这是一种式子的变形,当原本的式子中出现了\(f\) 或 \(g\) 的时候,可以考虑用另一个函数来替换它,从而找到一个易求得的式子。常用的卷积关系有如下几种:
\(\mu * 1 = \epsilon \)
\(\phi * 1 = id\)
\(id * \mu = \phi\)
(以上式子中的函数均为积性函数)。注意:积性函数的卷积依然为积性函数,并且卷积满足结合律, 交换律,分配律。
首先我们通过一道简单的题目来感受一下卷积和反演所起到的作用:题面在此:HAOI2011
注意到\(i, j\) 都有一定的范围,但是这样的范围显然可以通过容斥来解决。所以问题转化为:如何快速求出
\(\sum_{i = 1}^{n}\sum_{j = 1}^{m}gcd\left ( i, j \right ) = k\)
发现如果是\(i,j\)的最大公约数为\(k\),那么\(gcd\left ( \frac{i}{k} , \frac{j}{k} \right ) = 1\)。
所以我们改为枚举\(\frac{i}{k} , \frac{j}{k}\) :
\(\sum_{i = 1}^{\frac{n}{k}}\sum_{j = 1}^{\frac{m}{k}}gcd\left ( i, j \right ) = 1\)
注意到最后是一个判别式,所以是一个原函数\(\epsilon \)
联想到\(\mu * 1 = \epsilon \)
我们将式子转化为\(\sum_{i = 1}^{\frac{n}{k}}\sum_{j = 1}^{\frac{m}{k}}\sum_{d|gcd\left ( i,j \right )}\mu \left ( d \right )\)
又因为这其中的\(d\)对于每一个是其倍数的二元组\(\left ( i,j \right )\)产生贡献
所以有\(\sum_{d = 1}^{n}\mu \left ( d \right )\left \lfloor \frac{n}{dk} \right \rfloor\left \lfloor \frac{m}{dk} \right \rfloor\)
此时我们进行数论分块,前缀和优化一下求解就可以啦。
以下是几道题,按照个人认为的难度大致排了一下次序,应该会陆续写出题解:
1.HAOI2011 Problem b
2.YY的GCD
3.SDOI2015约数个数和
4.Crash的数字表格 / JZPTAB
5.bzoj3309 DYZ loves math
6.简单的数学题(杜教筛)
7.SDOI2014数表
然后还有没做的,但感觉非常神的几道题:
1.bzoj4174 tty的求助
2.树上的毒瘤 \ bzoj3512 DZY Loves Math IV
3.bzoj3601一个人的数论
祝大家食用愉快……
标签:tab 最大 来替 变形 原函数 class 内容 公约数 接受
原文地址:https://www.cnblogs.com/twilight-sx/p/9160276.html