首页 > 其他 > 详细

积性函数和筛子【未完结】

时间:2021-04-24 00:30:42      阅读:16      评论:0      收藏:0      [点我收藏+]

积性函数

定义

  1. \(f(n)\) 的定义域为正整数域,值域为复数,即 \(f:\mathbb{Z}^+\rightarrow \mathbb{C}\),则称为 \(f(n)\) 数论函数

  2. \(f(n)\) 为数论函数,且 \(f(1)=1\),对于互质的正整数 \(p,q\)\(f(pq)=f(p)f(q)\) ,则称其为积性函数

  3. \(f(n)\) 为积性函数,且对于任意正整数 \(p,q\)\(f(pq)=f(p)f(q)\) ,则称其为完全积性函数

常见的积性函数

  1. \(\varepsilon(n)=[n=1]\) (完全积性)
  2. \(id(n)=n\) (完全积性)
  3. \(1(n)=1\) (完全积性)
  4. \(\tau(n)=\sum_{i|n}1\)
  5. \(\sigma(n)=\sum_{i|n}i\)
  6. \(\mu\)
  7. \(\varphi\)

狄利克雷卷积

定义

定义两个数论函数 \(f,g\) 的狄利克雷卷积为:

\[(f*g)(n)=\sum\limits_{d|n}f(d)g(\frac{n}{d}) \]

性质

  1. 交换律
  2. 结合律
  3. 分配率

常见的狄利克雷卷积

  1. \(\tau=1*1\)
  2. \(\sigma=id*1\)
  3. \(\varphi=\mu*id\)
  4. \(\varepsilon=\mu*1\)

杜教筛

简介

\(\Theta(n^{\frac{2}{3}})\) 的时间内求出特定积性函数 \(f\) 的前缀和:

\[S(n)=\sum\limits_{i=1}^nf(i) \]

要求:可以找到一个积性函数 \(g\) 使得 \((f*g)\) 的前缀和与 \(g\) 的前缀和易于计算。

主过程

\[\begin{aligned} &\sum\limits_{i=1}^n\sum\limits_{j|i}f(\frac{i}{j})g(j) =&\sum\limits_{j=1}^n\sum\limits_{i=1}^{\lfloor\frac{n}{j}\rfloor}g(j)f(\frac{ij}{j}) =&\sum\limits_{j=1}^ng(j)\sum\limits_{i=1}^{\lfloor\frac{n}{j}\rfloor}f(i) =&\sum\limits_{j=1}^ng(j)S(\lfloor\frac{n}{i}\rfloor) \end{aligned} \]

\[\implies g(1)S(n)=\sum\limits_{i=1}^n(f*g)(i)-\sum\limits_{i=2}^n g(i)S(\lfloor\frac{n}{i}\rfloor) \]

递归计算,利用hash记忆化。

复杂度

直接递归的复杂度为 \(\Theta(n^{\frac{3}{4}})\)

若可以线性筛出 \(f\)\(n^{\frac{2}{3}}\) 内的前缀和复杂度为 \(\Theta(n^{\frac{2}{3}})\)

证明待补。

题单

51nod1244 莫比乌斯函数之和

\[\begin{aligned} 1&=\sum\limits_{i=1}^{n}\sum\limits_{j|i}\mu(j) \&=\sum\limits_{j=1}^nS(\lfloor\frac{n}{j}\rfloor) \end{aligned} \]

\[\implies S(n)=1-\sum\limits_{j=2}^nS(\lfloor\frac{n}{j}\rfloor) \]

51nod1239 欧拉函数之和


参考资料:

浅谈一类积性函数的前缀和

积性函数线性筛/杜教筛/洲阁筛学习笔记

积性函数和筛子【未完结】

原文:https://www.cnblogs.com/gsjz/p/14695793.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!