你会莫反吗?
你会莫反吗?
https://www.luogu.com.cn/blog/38785/post-94-xian-hua
https://www.luogu.com.cn/blog/wky/mu-fan-ke-neng-kuai-shi-bai
众所周知,在 OI 中见到 gcd 就要考虑莫反……真的吗?
例 1
证明
考虑所有有序整数对 \((x, y)\) 满足 \(1 \le x \le n\),\(1 \le y \le m\),\((x, y)\) 唯一对应了一个有序整数对 \((x', y')\),其中 \(x' = \frac{x}{\gcd(x, y)}\),\(y' = \frac{y}{\gcd(x, y)}\)。不难发现满足限制的 \((x, y)\) 共有 \(nm\) 个,而考虑每一对互质的 \((a, b)\),其反过来恰好对应了 \(\min(\lfloor\dfrac{n}{a}\rfloor, \lfloor \dfrac{m}{b} \rfloor)\) 个数对,这样就说明了原等式成立。
你从这个例子应该能得到一些感受:gcd 是很厉害的。
例 2
证明
厉害一点的做法可以在第一个链接中找到,我直接归纳吧。
不难验证上述命题对 \(n=1\) 成立,对 \(n \ge 2\),上述命题可等价转化为
\(n = 2\) 时命题成立,现假设命题对 \(n=k-1\) 成立,则
欲证 \(S(k) = S(k-1)\),则只需证后面那两坨东西相等。
故命题对 \(n=k\) 同样成立!
这么证其实是用了 gcd 的性质,第一个链接的做法我认为更厉害,因为他直接把互质的条件去掉了。怎么做呢?思路是直接枚举 gcd 然后建立 \(F\) 和 \(G\) 的关系,其中用到了 \((\mu \cdot \operatorname{id^{-2}}) * {id^{-2}} = \varepsilon\)。
例 3
求
我们套用一下大神的做法:
设 \(F(n) = \sum_{i=1}^n\sum_{j=1}^n [i \perp j]\),\(G(n) = \sum_{i=1}^n\sum_{j=1}^n 1 = n^2\)
则
即 \(g = f * 1\),利用 \(1 * \mu = e\) 可知 \(f = \mu * g\),有木有很激动?
例 4
来鞭尸一下这题:循环之美
要求
那么设 \(s(n) = \sum_{i=1}^n[i\perp k]\), \(G(n, m) = \sum_{i=1}^n\sum_{j=1}^m[j \perp k] = ns(m)\)
有
你惊奇的发现这个是杜教筛的形式!所以直接杜教筛即可。
上面这两个例子只是简单地利用了枚举 gcd 的方法,相比直接莫反本质上没什么优越性。
未完待续...