Min_25 筛 Min_26 筛 zzt 求和法 给(人能看懂的)代码的 学习笔记

看不懂别人博客里写的代码,所以只好自己实现常数超大的版本了,,,

记号:

\[\begin{aligned} \mathbf P&:\text{质数集}\\ p_k&:\text{第 k 个质数}\\ \text{lpf}(n)&:\text{n 的最小质因子}\\ x/y&:\left\lfloor\dfrac xy\right\rfloor \end{aligned} \]

前置知识:

\(n\) 的块筛,指 \(n/i\)\(O(\sqrt n)\) 种取值。

用整除分块可以轻松求出 \(n\) 的块筛,并给它们编号:

L = sqrt(n);
for (int l = 1, r; l <= n; l = r + 1)
{r = n / (n / l), v[++_] = n / l;if (v[_] <= L)o1[v[_]] = _;elseo2[n / v[_]] = _;
}
// 此时 v 中从大到小存储 n 的块筛
int O(int x) { return x <= L ? o1[x] : o2[n / x]; } // 返回 x 是从大到小第几个块筛

给定数论函数 \(f\)\(\forall p\in\mathbf P\)\(f(p)\) 是关于 \(p\) 的少项式,\(f(p^k)\) 可以快速求值。给定 \(n\),求 \(\sum\limits_{i=1}^nf(i)\)

Part I 还没写代码,别急。

Part II 求前缀质数处的和

即求 \(\sum\limits_{p\in\mathbf P,p\le n}f(p)\)

Min_25 筛为啥叫 ex埃筛 呢?

上面提到,\(f(p)\) 是关于 \(p\) 的少项式(假设有 \(o\) 项),即 \(f(p)=\sum\limits_{i=1}^oa_ip^{s_i}\),则 \(\sum\limits_{p\in\mathbf P,p\le n}f(p)=\sum\limits_{i=1}^oa_i\sum\limits_{p\in\mathbf P,p\le n}p^{s_i}\)

于是对于少项式的每一项,我们只需要求 \(\sum\limits_{p\in\mathbf P,p\le n}p^{s_i}\),设 \(g(n)=n^{s_i}\)

模拟埃筛的过程,设 \(G_{k,n}\) 表示 \(\sum\limits_{i=1}^n[\text{lpf}(i)>p_k\vee i\in\mathbf P]g(i)\),即第 \(k\) 轮埃筛(筛去 \(p_k\) 的倍数)后剩下的位置的 \(g\) 值之和。

埃筛只用筛 \(\sqrt n\) 轮,所以设 \(p_c\)\(\sqrt n\) 以内最大的质数,则答案为 \(G_{c,n}\)

Min_25

考虑算 \(G_{k,n}\)

筛完 \(k-1\) 轮,剩下的位置的 \(g\) 值之和为 \(G_{k-1,n}\)

\(k\) 轮需要筛掉 \(p_k\) 的倍数,也就是说 \(G_{k,n}=G_{k-1,n}-\sum\limits_{i=1}^n[\text{lpf}(i)=p_k]g(i)\)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/795512.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Jenkins 编译 .NET 6 WPF

最近公司需求要将产品编译自动化,干了那么多年客户端开发一直都是小作坊作业最近换了一个比较正规的互联网公司一切都需要标准化流程化了,自动化也必不可少!然后我就了解到了Jenkins这玩意,找了两天资料感觉还挺简单的写篇文章收录下。 因为签名UKey只要windows驱动 ,所以…

JMeter 介绍与安装

简介 Apache JMeter 是一个开源的 Java 应用程序,用于进行性能测试和负载测试。 它可以模拟多种协议的负载,被广泛用于测试 Web 应用程序、Web 服务、数据库和其他网络服务的性能。 JMeter 的优点纯 Java 程序,跨平台性强:Windows、Mac、Linux 开源免费。 高可扩展性:支持…

如何使用zabbix内置 key 配置windows服务监控

原作者:乐维社区 原出处:乐维社区 原文章链接:https://forum.lwops.cn/article/618 windows的服务管理工具中有许多不同类型的服务,包括系统、应用程序、驱动程序、自定义服务等。在监控这些windows服务的时候,我们可以直接使用内置的函数key去进行监控。Zabbix的内置key(…

DBeaver clickhouse 时区不对 时间少了8小时

现象: 确认过clickhouse时区配置是正确的(时区配置参考: https://blog.csdn.net/vkingnew/article/details/107227037) 然而 通过DBeaver连接后查询当前时间却慢了8小时,通过命令行连接clickhouse 查看时间又是准确的 命令行查询DBeaver查询原因:是DBeaver配置问题 解决方法:添…

面试-JS基础知识-作用域和闭包、this

函数作为返回值function create(){const a = 100return function (){console.log(a) //a在这里是自由变量,向上寻找} }const fn = create() const a = 200 fn() //100函数作为参数function print(fn){const a = 13fn() } const a = 100 function fn(){console.log(a) } print(…

WPF创建不规则窗体时WebBrowser控件不显示的问题

最近有小伙伴需要在不规则窗体上放置WebBrowser控件,因为设置了WindowStyle="None" 和 AllowsTransparency="True"。 导致WebBrowser控件不显示。界面如下所示:1 <Window x:Class="WebBrowserDemo.MainWindow" 3 xmlns="h…

MUR2060CT-ASEMI快恢复二极管MUR2060CT

MUR2060CT-ASEMI快恢复二极管MUR2060CT编辑:ll MUR2060CT-ASEMI快恢复二极管MUR2060CT 型号:MUR2060CT 品牌:ASEMI 封装:TO-220AB 安装方式:插件 批号:最新 恢复时间:35ns 最大平均正向电流(IF):20A 最大循环峰值反向电压(VRRM):600V 最大正向电压(VF):0.95V~1…

多维度解析:为什么 Traefik 是云原生首选网关?

Hello folks,我是 Luga,今天我们来聊一下云原生生态领域相关的技术 - 云原生网关 Traefik 。 根据 Traefik Labs 团队对于 Traefik 在云原生生态中的定位:云原生反向代理和负载均衡器及网关解决方案。 — 01 — 从生态拥抱视角看:Traefik 的发展前景 从云原生生态视角来看,…

Adafactor Adaptive Learning Rates with Sublinear Memory Cost

目录概符号说明AdafactorFactored Second Moment EstimationNo MomentumOut-of-Date Second Moment Estimator算法代码Shazeer N. and Stern M. Adafactor: Adaptive learning rates with sublinear memory cost. ICML, 2018.概 本文介绍了一种 memory-efficient 的优化器: Ada…

Oracle 19c OCP 认证考试 082 题库(第19题)- 2024年修正版

【优技教育】Oracle 19c OCP 082题库(Q 19题)- 2024年修正版 考试科目:1Z0-082 考试题量:90 通过分数:60% 考试时间:150min 本文为(CUUG 原创)整理并解析,转发请注明出处,禁止抄袭及未经注明出处的转载。 原文地址:http://www.cuug.com.cn/ocp/082kaoshitiku/3822886061…

如何用 Helm 安装指定版本的 GitLab Runner?

本分分享如何使用 Helm 来在 Kubernetes 集群上安装极狐GitLab Runner。整体步骤分为:Helm 的安装、vaules.yaml 文件的配置、Runner 的安装、Runner 的测试。 极狐GitLab 为 GitLab 在中国的发行版,中文版本对中国用户更友好。极狐GitLab 支持一键私有化部署,可以在 ubuntu…