zoukankan      html  css  js  c++  java
  • [学习笔记]整除偏序与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)\)

  • 相关阅读:
    某公司面试java试题之【二】,看看吧,说不定就是你将要做的题
    BAT面试上机题从3亿个ip中找出访问次数最多的IP详解
    Android 最流行的吸顶效果的实现及代码
    postgresql某进程占用cpu资源过高,降不下来
    媳妇要转java开发,我该怎么办?
    【原创】微信公众号电影网站域名被屏蔽完美解决方案!
    java如何对List集合中的元素进行排序(请收藏)
    【转】多语言的正则表达式,我们应该掌握
    【转】app之YdbOnline说明文档
    [敏捷开发实践](0) 开始
  • 原文地址:https://www.cnblogs.com/dixiao/p/15720959.html
Copyright © 2011-2022 走看看