首页 > 其他分享 >杜教筛和Min_25筛

杜教筛和Min_25筛

时间:2023-08-07 11:24:13浏览次数:23  
标签:25 frac 函数 Min sum 求解 杜教 答案 质数

学一遍忘一遍,忘一遍学一遍,生命就是在对抗熵增

这两个玩意儿都是用来求积性函数前缀和的(满足对应要求的非积性函数也可以求一下)


杜教筛

性质要求相对高一些

求 \(\sum_{i=1}^{n}f(i)\) ,需要找到 \(g(i),h(i)\),满足 \(h=f*g\) 且 \(f,g\) 都可以快速求解前缀和

令 \(S(n)=\sum_{i=1}^{n}f(i)\),推推式子:

\[\sum_{i=1}^{n}h(i)=\sum_{i=1}^{n}\sum_{d|i}f(\frac{i}{d})g(d)\\ =\sum_{d=1}^{n}g(d)S(\frac{n}{d}) \]

\[g(1)S(n)=\sum^{n}_{i=1}h(i)-\sum^{n}_{d=1}g(d)S(\frac{n}{d}) \]

递归求解即可,复杂度为 \(O(n^{\frac{3}{4}})\)

线性筛预处理前 \(n^{\frac{2}{3}}\) 个数后复杂度优化为 \(O(n^{\frac{2}{3}})\)


Min_25 筛

许多非积性函数也可以用这玩意求解,本质上是个优化埃氏筛的 DP

求 \(\sum_{i=1}^{n}f(i)\)

预处理不大于 \(\sqrt n\) 的质数,下用 \(p_i\) 表示第 \(i\) 个质数

先求质数部分的答案

质数部分求解时用一个或多个完全积性函数拟合求解的函数,只要满足质数部分答案相同即可

令该完全积性函数其为 \(f_0\)

要求 \(f_0\) 可以快速求前缀和以及某一个质数的幂对应的函数值

设 \(g(n,i)\) 表示前 \(n\) 个数中质数以及最小质因数大于 \(p_i\) 的合数的答案和(可以看作埃氏筛筛了前 \(i\) 个质数后的答案)

初值 \(g(n,0)\) 为 \(\sum^n_{i=1} f_0(i)\)

当 \(p_i > \sqrt n\) 时,显然不会再筛掉任何数了,\(g(n,i)=g(n,i-1)\)

当 \(p_i \le \sqrt n\) 时,转移为:

\[g(n,i)=g(n,i-1)-f(p_i)(g(\frac{n}{p_i},i-1)-\sum_{j=1}^{i-1}f(p_j)) \]

然后就可以求原函数的答案了

设 \(S(n,i)\) 为前 \(n\) 个数中最小质因数不小于于 \(p_i\) 的 \(f(x)\) 之和

有递推式:

\[S(n,i)=g(n,|P|)-\sum_{i=1}^{i-1}f(p_i)+\sum_{j=i}^{p_j^2 \le n}\sum_{e=1}^{p_j^e \le n}(f(p_j^e)S(\frac{n}{p_j^e},j+1)+f(p_j^{e+1})) \]

答案为 \(S(n,1)+f(1)\)

复杂度为 \(O(\frac{n^{\frac{3}{4}}}{logn})\),也有人说是 \(O(n^{1-\epsilon})\),好像比杜教筛要优一点


完结散花

标签:25,frac,函数,Min,sum,求解,杜教,答案,质数
From: https://www.cnblogs.com/oier-moonlit/p/17610927.html

相关文章

  • POJ 2513 Colored Sticks
    \(POJ\)\(2513\)\(Colored\)\(Sticks\)一、题目描述一堆木棍左右两端涂有颜色,相同颜色的可以连接在一起,问所有木棍能否都连上二、解题代码#include<map>#include<queue>#include<stack>#include<string>#include<vector>#include<stdio.h>#include<std......
  • bes2500yp
    https://download.csdn.net/download/ccdehuiji/87867095?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522169137716216800197087287%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fdownload.%2522%257D&request_id=169137716216800197087287&am......
  • day25
    一、[HDCTF2023]MasterMisc1.首先得到了六个文件,其中查看是第一个和第六个,发现分别含有zip头和尾,猜测要将六个文件合在一起cattopic.zip.001topic.zip.002topic.zip.003toppic.zip.005topic.zip.006>>topic.zip2.得到zip,显示需要密码,直接爆破3.在图片尾接着另外一......
  • 7-3 两个有序序列的中位数 (25分) 已知有两个等长的非降序序列S1, S2, 设计函数求S1与
    7-3 两个有序序列的中位数 (25分)已知有两个等长的非降序序列S1,S2,设计函数求S1与S2并集的中位数。有序序列A0,A1,⋯,AN−1的中位数指A(N−1)/2的值,即第⌊(N+1)/2⌋个数(A0为第1个数)。输入格式:输入分三行。第一行给出序列的公共长度N(0<N≤100000),随后每行输入一个序列的信息,即......
  • MiniRBT中文小型预训练模型:结合了全词掩码技术和两段式知识蒸馏技术,加快推理速度
    MiniRBT中文小型预训练模型:结合了全词掩码(WholeWordMasking)技术和两段式知识蒸馏(KnowledgeDistillation)技术,加快推理速度在自然语言处理领域中,预训练语言模型(Pre-trainedLanguageModels)已成为非常重要的基础技术。为了进一步促进中文信息处理的研究发展,哈工大讯飞联合实验......
  • KTU Programming Camp (Day 3)
    A.Queries维护一个序列,要求支持单点修改和查询区间异或和之和线段树对于每一个二进制位单独考虑。考虑第\(b\)位的异或前缀和\(S\),则区间\([l,r]\)内的异或和为\(S_r\oplusS_{l-1}\)。若结果不为零,则\(S_r\)和\(S_{l-1}\)一个为\(0\)一个为\(1\)。设区......
  • P2568 GCD
    Question问题P2568GCD\[\sum_{p\inprime}\sum_{i=1}^n\sum_{j=1}^n[\gcd(i,j)==p]\]Analysis分析1(所以肯定有第二种思考的方法,看后面(目前没写))变形\[\sum_{p\inprime}\sum_{i=1}^{\lfloor{\fracnp}\rfloor}\sum_{j=1}^{\lfloor{\fracnp}\rfloor}[\gcd(i,j)......
  • 可与ViT一较高下,DeepMind从稀疏转向Soft混合专家模型
    前言 对于谷歌DeepMind的SoftMoE,有人表示:「即使它不是万能药,仍可以算得上一个突破」。本文转载自机器之心仅用于学术分享,若侵权请联系删除欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读、CV招聘信息。CV各大方向专栏与各个部署框架最......
  • dperf minio 团队开源的磁盘性能测试工具
    dperfminio团队开源的磁盘性能测试工具基于golang开发,使用简单,类似的有fio说明相比fiodperf没有那么多的参数,实际上dperf核心似乎主要是为了方便minio使用的,但是对于日常中需要测试一些磁盘问题也是可以的,可以用来发现磁盘的瓶颈参考资料https://github.com/minio/dpe......
  • 前端学习笔记202306学习笔记第四十八天-react-admin marmelab之6
            ......