[学习笔记]整除偏序与zeta变换、Möbius变换、lcm卷积、gcd卷积
依据整数分解定力
我们将 \(n\) 分解为
\(\prod_{k = 1}^\infty p_k ^{e_k}\)
那么我们分解 \(m\)
\(\prod_{k = 1}^\infty p_k ^{d_k}\)
那么
如果 \(\forall d_k \leq e_k\),则有 \(m | n\).
同理\(\forall e_k \leq d_k\),则有 \(n | m\).
知
\(gcd(n,m) = \prod_{k = 1}^\infty p_k ^{\min(d_k,e_k)}\)
\(lcm(n,m) = \prod_{k = 1}^\infty p_k ^{\max(d_k,e_k)}\)
若 \(m | n\),则有\(\frac{n}{m} = \prod_{k = 1}^\infty p_k ^{e_k - d_k}\)
有因子数$\sigma_0 = \(\frac{n}{m} = \prod_{k = 1}^\infty (1 + e_k)\)
我们定义一个函数 \(f\),定义其 zeta变化 \(f\zeta\)
\(f\zeta(n) = \sum_{d | n}f(d)\)
实际上其实一个高维前缀和,容斥原理知,我们可以通过高维前缀和还原原数。
依照有多少维小\(1\)决定容斥系数。
定义\(\mu(n) = \prod_{k = 1}^{\infty} (-k) ^ {[e_k = 1] 0 ^{[e_k > 1]}}\)
所以知 \(f(n) = \sum_{d|n}\mu(\frac{n}{d})f\zeta(d)\)
我们称其为Möbius变换,把\(f\)的 Möbius 变换 \(f\mu\) 定义为:
\(f\mu(n) = \sum_{d|n}\mu(\frac{n}{d})f(d)\)
其充分证明了\(f\zeta\mu = f\)
接下来给定一个重要性质。
对于三个函数\(f,g,h\),
\(h(n) = \sum_i\sum_j f(i) g(j) [lcm(i,j) = n]\)
那么有\(h\zeta(n) = f\zeta(n)g\zeta(n)\)
考虑证明其结论
\(h\zeta(n) \\= \sum_{d|n} h(d)\\= \sum_{d|n}\sum_i\sum_j f(i)g(j) [lcm(i,j) = d]\\= \sum_i\sum_j f(i)g(j)[lcm(i,j)|n]\\= \sum_i\sum_jf(i)g(j)[i | n][j | n]\\= (\sum_if(i)[i|n])(\sum_jg(j)[j|n])\\= f\zeta(n) g\zeta(n)\)
与此同时,我们有另外一个方向的变换。
\(\zeta f(n) = \sum_{n|d}f(d)\)
\(\mu f(n) = \sum_{n | d}\mu(\frac{d}{n})f(d)\)
所以对于其变换我们有类似结论\(h(n) = \sum_i\sum_j f(i)g(j)[gcd(i,j) = n]\)
\(\zeta h(n) = \zeta f(n) \zeta g(n)\)
所以如果一个和式限制了 \(gcd\) 或 \(lcm\) 的值,可以直接考虑将其转换为 \(zeta\)变化 和 \(mobius\) 变换。
如何快速计算给定函数的zeta变换和Möbius 变换的 \(1 ~ n\)项,对于\(zeta\)变换,直接狄利克雷前缀和。
对于后者,考虑反向过程,或者认同其为高维前缀和,直接硬做,可证明前者\(O(nlogn)\),后者为\(O(nloglogn)\)