Powerful Number 筛法
我也不想学筛法了,可你考试时候出一个新筛法就不厚道了吧,我还开始以为这是杜教筛。。。
$tips:$学完杜教筛立马学$Powerful \ Number$筛法,此筛法强悍如斯
$Powerful \ Number$筛法
算是杜教筛的究极版$?$
考虑筛积性函数$f$前缀和
求函数$F(n)$
$F(n)=\sum_{i=1}^{n}f(i)$
时间复杂度$O(\sqrt{n})$
主要是基于$PN$的筛法
定义$:$
$PN:n$质因数分解,$n=\prod_{i=1}^{m}p_i^{e_i}$
当满足前$m$个质数都在$n$里面出现多于一次
性质$1:$
所有的$PN$都能表示为$a^2\times b^3$
显然任意一个大于$2$的数字可以被分成$2\times k_1+3\times k_2$
性质$2:$
有关时间复杂度为$O(\sqrt{n})$的性质
$n$以内的$PN$至多有$\sqrt{n}$个
对于函数$\sqrt{n/x^2}^3$在$[1,\sqrt{n}]$积分
$ \displaystyle\int _{1}^{\sqrt{n}} \sqrt{n/x^2}^3=\sqrt{n}$
然后得证
筛法$:$
首先需要构造一个函数$g$
满足在数字为质数时$g(p)=f(p)$
并且$G(n)=\sum_{i=1}^{n}g(i)$易得
构造函数$h=f/g,$这里$/$表示狄利克雷卷积除法
$h(1)=1$
对于素数$p$
$f(p)=g(1)h(p)+g(p)h(1)$
$f(p)=h(p)+g(p)$
$g(p)=f(p)$
$h(p)=0$
由于$h$是积性函数,且所有素数位置的$h$等于$0$,那么除了$PN$的位置,其余的位置都是$0$
还记得杜教筛是$h=f*g$
$f=g*h$
$F(n)=\sum_{i=1}^{n} f(i)$
$F(n)=\sum_{i=1}^{n}(g*h)(i)$
$F(n)=\sum_{i=1}^{n}\sum_{d|i}h(d)g(i/d)$
$F(n)=\sum_{d=1}^{n}h(d)\sum_{i=1}^{n/d}g(i)$
$F(n)=\sum_{d=1}^{n}h(d)G(n/d)$
由于除了$PN$的其他所有位置全部为$0$
那么$:$
$F(n)=\sum_{d=1,d\ is \ PN}^{n}h(d)G(n/d)$
显然的那么,可以在$O(\sqrt{n})$的时间内得到$F(n)$
只需要得到需要的$h(d)\times G(n/d)$
考虑$h$是积性函数,那么我们又知道$h(p)=0$
$h=f/g$
今天考试这个题$h$可以打表发现$x>2,h(x)$不变
还有一般方法
$f=g * h$
$f(p^c)=\sum_{i=0}^{c}g(p^i)h(p^{c-i})$
枚举$p$和指数$c$然后计算
一般过程$:$
$1.$构造$g$
$2.$构造快速求$G$的方法
$3.$计算$h(p^c)$
$4.$搜索$PN$,过程中累加答案
$5.$得到结果
Powerful Number 筛法的更多相关文章
- Note - Powerful Number
Powerful Number 对于 \(n\in\mathbb N_+\),若不存在素数 \(p\) 使得 \(p\mid n~\land~p^2\not\mid n\),则称 \(n\) 为 ...
- 利用powerful number求积性函数前缀和
好久没更博客了,先水一篇再说.其实这个做法应该算是杜教筛的一个拓展. powerful number的定义是每个质因子次数都 $\geq 2$ 的数.首先,$\leq n$ 的powerful num ...
- powerful number求积性函数前缀和
算法原理 本文参考了 zzq's blog . \(\text{powerful number}\) 的定义是每个质因子次数都 \(\ge 2\) 的数,有个结论是 \(\ge n\) 的 \(\te ...
- Powerful Number 筛学习笔记
Powerful Number 筛学习笔记 用途 \(Powerful\ number\) 筛可以用来求出一类积性函数的前缀和,最快可以达到根号复杂度. 实现 \(Powerful\ number\) ...
- Powerful Number 学习笔记
定义 对于一个正整数 \(n\) ,若完全分解之后不存在指数 \(=1\) ,则称 \(n\) 为 \(\text{Powerful Number}\) . 可以发现的是,在 \([1,n]\) 中, ...
- [笔记] Powerful Number 筛
定义 Powerful Number(以下简称 PN)筛类似于杜教筛,可以拿来求一些积性函数的前缀和. 要求: 假设现在要求积性函数 \(f\) 的前缀和 \(F(n)=\sum_{i=1}^nf(i ...
- 【HDOJ6623】Minimal Power of Prime(Powerful Number)
题意:给定大整数n,求其质因数分解的最小质数幂 n<=1e18 思路:常规分解算法肯定不行 考虑答案大于1的情况只有3种:质数的完全平方,质数的完全立方,以及p^2*q^3,p,q>=1三 ...
- powerful number筛
心血来潮跑来实现以下这个东西 我们应该知道杜教筛的理论是 \(f * g=h\),那么问题在于如何找 \(g\). 之前的blog应该提到过可以令 \(g(p)=-f(p)\),这样一来 \(h\) ...
- $dy$讲课总结
字符串: 1.广义后缀自动机(大小为\(m\))上跑一个长度为\(n\)的串,所有匹配位置及在\(parent\)树上其祖先的数量的和为\(min(n^2,m)\),单次最劣是\(O(m)\). 但是 ...
随机推荐
- MyBatisPlus详解
1.MyBatisPlus概述 需要的基础:MyBatis.Spring.SpringMVC 为什么要学习?MyBatisPlus可以节省我们大量工作时间,所有的CRUD代码它都可以自动化完成! 简介 ...
- C#/VB.NET 在PDF表格中添加条形码
条码的应用已深入生活和工作的方方面面.在处理条码时,常需要和各种文档格式相结合.当需要在文档中插入.编辑或者删除条码时,可借助于一些专业的类库工具来实现.本文,以操作PDF文件为例,介绍如何在编辑表格 ...
- frp 用于内网穿透的基本配置和使用
frp 用于内网穿透的基本配置和使用 今天是端午节,先祝端午安康! frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP.UDP.HTTP.HTTPS 等多种协议.可以将内网服务以安全.便 ...
- E104-BT01超低功耗蓝牙模块BLE4.0协议的片载系统解决方案
1.E104-BT01简介 E104-BT01 是亿佰特设计生产的一款小体积的蓝牙模块,贴片型(引脚间距 1.27mm),自带高性能 PCB 板载天线.支持 BluetoothV4.0 标准,简单配置 ...
- vue海康视频播放组件
海康视频插件web文档 渲染组件后,调用initPlugin函数,传入一个code数组 <template> <div :title="name" :id=&qu ...
- .NET打包应用设置成自包含
设置项目的配置文件 在项目的配置文件(.csproj文件)中加入RuntimeIdentifier节点,节点的内容为要打包进入最终程序的目标运行时.更多平台标识符,请看这里RIDs. <Prop ...
- BUUCTF-[BJDCTF2020]认真你就输了
[BJDCTF2020]认真你就输了 下载通过16进制查看发现是压缩包,直接就binwalk分离查看. 分离直接得到几个文件,不过好像压缩包里的和外面的文件是一样的,所以直接翻一下目录 直接就找到了 ...
- Python基础知识+题目练习,我不信你能做出这道题
函数式编程 高阶函数 Python学习交流Q群:660193417#### map(func, *iterable) def fn(x, y, z): pass map(fn, range(10), ...
- NC16564 [NOIP2012]借教室
NC16564 [NOIP2012]借教室 题目 题目描述 在大学期间,经常需要租借教室.大到院系举办活动,小到学习小组自习讨论,都需要向学校申请借教室.教室的大小功能不同,借教室人的身份不同,借 ...
- Transferable Joint Attribute-Identity Deep Learning for Unsupervised Person Re-Identification理解
简介:这篇文章属于跨域无监督行人再识别,不同于大部分文章它使用了属性标注.旨在于能够学习到有属性语义与有区分力的身份特征的表达空间(TJ-AIDL),并能够转移到一个没有看到过的域. 贡献: 提出了一 ...