论文暂存地
不好意思可能骗访问量了
贝尔级数在积性函数求和中的应用
作者:
序言:
本文首先介绍了贝尔级数,随后引入一种特殊的筛法,并简单阐述了筛法的优劣,引入前文有力武器解决问题。给出了积性函数在低于线性复杂度下求和的通用方法。
相关符号和约定:
\(\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)\)
几个常见积性函数的贝尔级数:
首先写出常见的函数:
- \(e(x)=[x=1]\)
- \(1(x)=1\)
- \(ID(x)=x\)
- \(ID_k(x)=x^k\)
- \(\mu(x)\) 为莫比乌斯函数。
- \(\phi(x)\) 为数论欧拉函数。
- \(\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)\) 为积性函数。
其流程如下:
- 找到一个容易求前缀和的积性函数\(g(x)\)
- \(\sum_{i=1}^n (f*g)=\sum_{d=1}^n g(d)s(\frac{n}{d})=\sum_{i=1}^n h(i)\)
- \(g(1)s(n)=\sum_{i=1}^n h(i)-\sum_{i=2}^ng(i)s(\frac{n}{d})\)
- 注意到\(\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的贝尔级数一模一样?迪利克雷卷积之后进行杜教筛。