[学习笔记]整除偏序与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)\)

posted @ 2021-12-22 20:23  fhq_treap  阅读(344)  评论(0编辑  收藏  举报