论文暂存地

不好意思可能骗访问量了

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

作者:


序言:

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


相关符号和约定:

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

贝尔级数


定义:

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


定理1:

\(f\)是完全积性函数则有:\(f_p(x)=\sum_{0\leq 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_{0\leq 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,(ID\cdot \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\)\(n\geq 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 i\phi(i)\)

首先通过等比数列求和的方式先得到一个 \(i\cdot \phi\)的贝尔级数\((i\cdot \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*(ID\cdot\mu)\)

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

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

\(\sum_{i=1}^n \mu^2(i)=\sum_{i\leq\sqrt n} \lfloor\frac{n}{i^2}\rfloor\mu(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的贝尔级数一模一样?迪利克雷卷积之后进行杜教筛。

posted @ 2020-07-14 22:32  Atoner  阅读(186)  评论(0编辑  收藏  举报