首页 > 其他分享 >杜教筛 & Min25 筛

杜教筛 & Min25 筛

时间:2023-06-02 15:25:14浏览次数:45  
标签:prime lfloor text Min25 rfloor 杜教 dfrac sum

发现这个东西很容易忘,果然还是理解不够吧,写一篇博客方便以后复习。

杜教筛

目的是要求 \(S(n)=\sum_{i=1}^n f(i)\)。

我们需要构造两个函数 \(g,h\) 满足 \(f * g=h\),其中 \(h\) 是一个积性函数且能快速求和。

考虑求 \(\sum_{i=1}^n \sum_{d|i} f(d) g(\dfrac{i}{d})=\sum_{i=1}^n h(i)=\sum_{i=1}^n g(i) S(\left\lfloor\dfrac{n}{i}\right\rfloor)\)。

我们发现在上述式子中 \(\sum_{i=1}^n h(i)-\sum_{i=2}^n g(i) S(\left\lfloor\dfrac{n}{i}\right\rfloor)=g(1)S(n)\)。

所以 \(S(n)=\dfrac{\sum_{i=1}^n h(i)-\sum_{i=2}^n g(i) S(\left\lfloor\dfrac{n}{i}\right\rfloor)}{g(1)}\)。

然后就做完了。

列举一些常见的求和。

  • \(\sum_{i=1}^n \mu(i)\),配 \(g(i)=1\) 即可。
  • \(\sum_{i=1}^n \phi(i)\),配 \(g(i)=1\) 即可。
  • \(\sum_{i=1}^n \mu(i) \times i\),配 \(g(i)=i\) 即可。
  • \(\sum_{i=1}^n \phi(i) \times i\),配 \(g(i)=i\) 即可。

\(\text{Min25}\) 筛

\(f(p^c)\) 能快速求值。

设 \(g(n,j)=\sum_{i=1}^n [minprime(i) > prime_j \text{ or } i \in \text{prime}] f(i)\)。
设 \(h(n,j)=\sum_{i=1}^n [minprime(i) \geq prime_j] f(i)\)。

先来考虑 \(g\) 的转移。

这个时候分为两种情况。

  • \(prime_j^2 > n\),那么有 \(g(n,j)=g(n,j-1)\),原因显然。
  • \(prime_j^2 \leq n\),那么有 \(g(n,j)=g(n,j-1)-f(prime_j)(g(\left\lfloor\dfrac{n}{prime_j}\right\rfloor,j-1)-g(prime_j-1,j-1))\)。

接下来考虑怎么求 \(h(n,j)\)。

先考虑质数贡献,显然有贡献的为大于等于 \(prime_j\) 的质数,也就是 \(g(n,|\text{prime}|)-\sum_{i=1}^{j-1}f(prime_i)\)。

接下来考虑合数贡献,我们枚举合数的最小质因子及其次数。

\(\text{contribution}=\sum_{i=j}^{\text{|prime|}} \sum_{t \geq 0} f(prime_i^t) h(\left\lfloor \dfrac{n}{prime_i^t}\right\rfloor,i+1)+f(prime_i^{t+1})\)。

最后要加上一个 \(f(prime_i^{t+1})\) 是因为不难发现 \(h(n,j)\) 不会算到 \(f(1)\) 的值,所以质数的次幂会算漏,因此补上。

所以 \(h(n,j)=g(n,|\text{prime}|)-\sum_{i=1}^{j-1}f(prime_i)+\text{contribution}\)。

最后求的就是 \(h(n,0)+f(1)\)。

标签:prime,lfloor,text,Min25,rfloor,杜教,dfrac,sum
From: https://www.cnblogs.com/OccasionalDreamer/p/17451852.html

相关文章

  • 杜教筛 & Powerful Number 筛
    迪利克雷卷积对于数论函数\(F\),\(G\),我们定义迪利克雷卷积的结果\(H=F*G\)为\[H_n=\sum_{d\midn}F_dG_\frac{n}{d}\]有些好的性质,比如:对于积性函数\(F\)与\(G\),其迪利克雷卷积\(F*G\)也是积性函数;而在迪利克雷卷积的意义下,积性函数\(F\)的逆也是积性函数(逆满足\(F......
  • 【学习笔记】杜教筛
    如果我们要求一个积性函数\(f(x)\)的前缀和,可以用杜教筛在\(O(n^{\frac{2}{3}})\)的复杂度求出。具体地,构造函数\(g(x)\)和函数\(h(x)\),使得$h=f*g$,要求的式子是\(S(n)=\sum\limits_{i=1}^{n}f(i)\)。开始推式子。\[\sum\limits_{i=1}^{n}h(i)=\sum\limits_{i=1}^{......
  • 浅析数论--埃氏筛/欧拉筛/杜教筛
    \(\mathcal{0x01绪论}\)\(\mathcal{质数的判定试除法or六倍原理}\)一个合数的约数总是成对出现的,如果\(d|n\)(\(d\)能被\(n\)整除),那么\((n/d)|n\),因此我们判断一个......
  • [bzoj 4176] Lucas的数论 (杜教筛 + 莫比乌斯反演)
    题面设为的约数个数,给定,求题目分析有这样一个结论这道题就是下面这道题的数据增强版,那么这个结论的证明就不再赘述,请自行查看下面的(蒟蒻)博客​​传送门:[SDOI2015][bz......
  • [51Nod 1227] 平均最小公倍数 (杜教筛)
    题目描述求题目分析这道题其实是​​[51Nod1238]最小公倍数之和题解​​的简化版,或者说是本质…就直接上公式了令,则此处有一个常识证明如下当时,若,所以与互质的......
  • [51Nod 1237] 最大公约数之和 (杜教筛+莫比乌斯反演)
    题目描述求题目分析乍一看十分像裸莫比乌斯反演,然而的范围让人望而却步于是先变化一下式子枚举令k=Td则此时可以整除分块优化,每次算出相等的上下界后用莫比乌斯反演计......
  • [HDU 5608]Function(莫比乌斯反演 + 杜教筛)
    题目描述有求只有最多组数据题目分析如此一来就可以杜教筛了,然而仅仅这样还是会T,于是我们在想一想如何筛出前面一部分的值令,根据莫比乌斯反演于是用筛出前项就行了......
  • 莫比乌斯反演与杜教筛
    莫比乌斯反演与杜教筛积性函数定义对于一个数论函数\(f\),若满足\(\forall(a,b)=1\)都有\(f(ab)=f(a)f(b)\),那么称\(f\)为积性函数。例子常见的积性函数有很多,......
  • 杜教筛
    杜教筛设现在要求积性函数\(f\)的前缀和,设\(\sum_{i=1}^{n}f(i)=S(n)\)找一个积性函数\(g\),考虑它们的狄利克雷卷积的前缀和\[\sum_{i=1}^{n}(f*g)(i)=\sum_{i=1}^......
  • Min25筛
    博客两年没更了,其实博主有在打ACM,但是因为平时用Latex而不是Markdown所以就算写了点东西也懒得搬,最近准备搬点知识点总结过来用途求积性函数\(f\)的前缀和\(F(......