前置知识
留个坑以后再填
公式
形式1:
(;F(n) = sumlimits_{d|n}f(d))
(;f(n) = sumlimits_{d|n}mu(d)F(frac{n}{d}))
(;)证明:(f(n) = sumlimits_{d|n}mu(d)F(frac{n}{d}) = sumlimits_{d|n}mu(d)sumlimits_{k|frac{n}{d}}f(k) = sumlimits_{k|n}f(k)sumlimits_{d|frac{n}{k}}mu(d) = sumlimits_{k|n}f(k)[n=k] = f(n))
(;)这里用到了(sumlimits_{d|n}mu(d) = [n=1])
形式2:
(;F(n) = sumlimits_{n|d}f(d))
(;f(n) = sumlimits_{n|d}mu(frac{n}{d})F(d))
(;)证明同理
(;)这是较常用的公式
应用
题目 : 给出(n, m, k), 求满足(x leq n, y leq m, gcd(x, y) = k)的((x, y))的个数
设(f(k) = sumlimits_{i=1}^{n}sumlimits_{j=1}^{m}[gcd(i, j) = k]), 即答案就是(f(k))
但是(f(k))很难直接求出, 于是我们可以设(F(k) = sumlimits_{i=1}^nsumlimits_{j=1}^m[k|gcd(i, j)])
由小学奥数知(F(k) = lfloorfrac{n}{k}
floorlfloorfrac{m}{k}
floor), 同时显然(F(k) = sumlimits_{k|d}f(d))
于是我们可以套用上面的公式(()所以说形式2是较常用的公式())
得到(f(k) = sumlimits_{k|d}mu(frac{d}{k})F(d) = sumlimits_{k|d}mu(frac{d}{k})lfloorfrac{n}{d}
floorlfloorfrac{m}{d}
floor)
于是我们可以愉快用数论分块了(()数论分块是什么?留个坑以后再解释())
类似这题的方法很常用