论文暂存地

不好意思可能骗访问量了

贝尔级数在积性函数求和中的应用

作者:


序言:

本文首先介绍了贝尔级数,随后引入一种特殊的筛法,并简单阐述了筛法的优劣,引入前文有力武器解决问题。给出了积性函数在低于线性复杂度下求和的通用方法。


相关符号和约定:

(cdot)表示函数点乘,(*)表示迪利克雷卷积。(p)无特殊声明均表示质数。([])为艾弗森符号。

贝尔级数


定义:

(f)在模(p)意义下的贝尔级数:(f_p(x)=sum_{0leq i} f(p^i)x^i)


定理1:

(f)是完全积性函数则有:(f_p(x)=sum_{0leq i} f(p)^ix^i)

证明:

根据等比数列求和公式可得(f_p(x)=frac{1}{1-f(p)x})

定理2:

((f* g)_p(x)=f_p(x)g_p(x))

证明:

((f* g)(n)=sum_{d|n} f(d)g(n/d))

((f* g)(p^n)=sum_{i=0}^n f(p^i)g(p^{n-i}))

((f* g)_p(x)=sum_{0leq i} sum_{j=0}^{i} f_p(x)[j]g_p(x)[i-j]) (此处([])指多项式项数)

$(f* g)_p(x)=f_p(x)g_p(x)


定理3:

对于两个积性函数(f(x),g(x)),如果有(f_p(x)=g_p(x)) ,那么(f(x)=g(x))

证明:

(forall x=prod p_i^{a_i},f(x)=prod f(p_{i}^{a_i})=prod f_{p_i}(x)[a_i]=prod g_{p_i}(x)[a_i]=g(x))


几个常见积性函数的贝尔级数:

首先写出常见的函数:

  1. (e(x)=[x=1])
  2. (1(x)=1)
  3. (ID(x)=x)
  4. (ID_k(x)=x^k)
  5. (mu(x)) 为莫比乌斯函数。
  6. (phi(x)) 为数论欧拉函数。
  7. (sigma_k(n)=sum_{d|n} d^k)

根据函数定义可得:(e_p(x)=1),(1_p(x)=frac{1}{1-x})


函数(ID,ID_k)为完全积性,根据定理1可得:

(ID_p(x)=frac{1}{1-px})((ID_k)_p(x)=frac{1}{1-p^kx})


考虑从定义方向入手。

(mu(x))有对于任意(k>2,mu(p^k)=0)

因此只有两项有非零系数,

(mu_p(x)=1-x,mu^2(x)=1+x,(IDcdot mu)_p(x)=1-px)


因为(phi=mu* ID,d=1*1,s=1*id,sigma_k(n)=1*ID_k), 根据定理2:

(phi_p(x)=frac{1-x}{1-px}),(d_p(x)=frac{1}{1-2x-x^2}),(s_p(x)=frac{1}{1-x-px+px^2}),((sigma_k)_p(x)=frac{1}{(1-p^kx)(1-x)})


引入一个少见的函数(lambda(x)) (刘维尔函数)

定义:(for x=prod p_i^{a_i} , sum a_i=z, lambda(x)=(-1)^z)

易得此函数完全积性,带入公式有:(lambda_p(x)=frac{1}{1+x})


此处证明一个不在下文提及得定理,故不作编号。

如果一个积性函数(f)和任何算数函数(g)满足(f(p^{n+1})=f(p)f(p^n)-g(p)f(p^{n-1})) 对于所有的(p)(ngeq 1)

那么有(f_p(x)=frac{1}{1-f(p)x+g(p)x^2})

证明:

发现贝尔级数的本质是形式幂级数,于是借鉴形式幂级数解决问题时的思路。

用次数平移对齐相减的方式,补齐缺失的0次项,可得:

(f_p(x)=f(p)f_p(x)x-g(x)f_p(x)x^2+1)

移项可得上式,有关运算的合法性请查阅形式幂级数相关论文。

虽然这个定理不会在下文出现,但是它提示了我们其形式幂级数的本质。


此处引入一个函数,下文仍不会提及。

定义(mu_k(n)=sum_{d^k|n} mu_{k-1}(frac{n}{d^k})mu_{k-1}(frac{n}{d}))

((mu_k)_p(x)=frac{1-2x^k+x^{k+1}}{1-x})

证明:

使用数学归纳法,可以得到这个序列实际上是(+1,-1)交替的序列。

上式所对应的形式幂级数即为交替序列。

这个问题提示我们,当套路化的过程无法解决问题时,可以试图从定义入手。


杜教筛

上文有提到特殊的筛法,即使本文的第二大标题杜教筛。愧于作者能力不足,不明其真实名称,暂将其称为杜教筛。下文讲讲述这种筛法。

杜教筛是用于解决(s(n)=sum_{i=1}^n f(i)) ,其中 (f(i)) 为积性函数。

其流程如下:

  1. 找到一个容易求前缀和的积性函数(g(x))
  2. (sum_{i=1}^n (f*g)=sum_{d=1}^n g(d)s(frac{n}{d})=sum_{i=1}^n h(i))
  3. (g(1)s(n)=sum_{i=1}^n h(i)-sum_{i=2}^ng(i)s(frac{n}{d}))
  4. 注意到(frac{n}{d})的数量不会很多,于是按其分段,递归子问题解决。

我们注意到,想让上述式子复杂度低于线性,应当有在(O(1))时间内求出(g(x),h(x))前缀和的方法。这要求(g(x))的函数非常不错。这也是杜教筛应用方面的缺点。

我们先假设上述性质满足,计算一下杜教筛的复杂度。

抽象出复杂度模型:(T(n)=sqrt n+sum_{i=1}^{sqrt n}(T(i)+T(frac{n}{i})))

展开,因为高阶小量不影响渐进复杂度,可看作(T(n)=sum_{i=1}^{sqrt{n}}(sqrt i+sqrt{frac{n}{i}}))

上式渐进于(T(n)=sum_{i=1}^{sqrt{n}}sqrt{frac{n}{i}})

用积分代替求和,(T(n)=int_{i=1}^n sqrt{frac{n}{i}}=O(n^{frac{3}{4}}))

为严谨起见,带回高阶小量,发现均不超过此范围。既不做预处理的杜教筛复杂度为(O(n^{frac{3}{4}}))

实际上,预处理可以得到更好的复杂度。但鉴于倾向于本文论调,不做应用方面的更多介绍。

杜教筛的优点也展现在复杂度证明中,其求和形式道出了其具有在嵌套下复杂度不变的性质。因此一个复杂的积性函数可以分解成多个易求和的积性函数。

解决上文留下的问题,想要构造一个合适的(g(x))是不容易的。但是根据定理三,贝尔级数和迪利克雷卷积之间建立了良好的关系。于是将不熟悉的积性函数求和问题变为了更容易处理的卷积问题。


应用实例:


示例1:

Ques:求(sum_{i=1}^n iphi(i))

首先通过等比数列求和的方式先得到一个 (icdot phi)的贝尔级数((icdot phi)_p(x)=frac{1-px}{1-p^2x})

注意到((ID^2)_p(x)=frac{1}{1-p^2x})的前缀和显然很好求,又有(ID_p(x)=frac{1}{1-px}),于是将其和(ID)做卷积。


示例2:

Ques:求(sum_{i=1}^n sum_{d|i} mu^2(d)frac{n}{d}mu(frac{n}{d}))

首先容易发现这个求前缀和的函数实际上是(mu^2*(IDcdotmu))

写出贝尔级数((1+x)(1-px)) ,很套路的发现卷(ID)可得(mu^2)

(mu^2)不难求,按照因数个数进行容斥:

(sum_{i=1}^n mu^2(i)=sum_{ileqsqrt n} lfloorfrac{n}{i^2} floormu(i))

杜教筛即可。


示例3:

Ques:(f(1)=1,f(p^c)=p^c+(-1)^c),且(f)为积性函数。

直觉告诉我们(f_p(x)=ID_p(x)+lambda_p(x)),但第一项不太对,修一下变成

(f_p(x)=ID_p(x)+lambda_p(x)-e_p(x))

贝尔级数:(frac{1-px^2}{(1-px)(1+x)})

观察可见与示例1的贝尔级数一模一样?迪利克雷卷积之后进行杜教筛。

原文地址:https://www.cnblogs.com/Atoner/p/13302313.html