这个东西不是人想的。

解决问题:积性函数前缀和。

适用条件:可以快速计算 \(f(p)\) 的前缀和,\(f(p^k)\) 可以被表示成若干完全积性函数的线性组合(指对应项可以快速组合出来)。

时空复杂度:就当是 \(O(\dfrac{n^\frac{3}{4}}{\log n}+n^{1-\epsilon})-O(\sqrt n)\)。

以下默认 \(f(p)\) 为关于 \(p\) 的单项式,\(p_i\) 为第 \(i\) 个质数。

求质数处的前缀和

我们需要对于每个能被表示成 $\lfloor \dfrac{n}{x}\rfloor $ 的数,求所有在其前的质数 \(p\) 的 \(\sum f(p)\)。注意到一个数的最小质因子小等于 \(\sqrt n\),我们设计一个 dp:\(g_{i,j}\) 表示最小质因子大于 \(p_i\),\([1,j]\) 的所有数的 \(f\) 之和。转移时把最小质因子为 的 \(p_i\) 数的 \(f\) 全部删去,即得转移,注意容斥掉前面的质数的贡献:

\[g_{i,j} = g_{i-1,j} - f(p_i)\big{(}g_{i-1,j/p_i} - \sum_{k\le i}f(p_k)\big{)}
\]

这就体现出完全积性的重要性。求和号部分可以在线筛质数的时候预处理出来。第一维显然可以滚动数组优化掉,而对于第二维,$\lfloor \dfrac{n}{x}\rfloor $ 只有 \(O(\sqrt n)\) 个,预处理出来,大于 \(\sqrt n\) 的编号为 \(n/\sqrt n\) 即可。

我们把筛去所有最小质因子后的得到的 dp 数组记为 \(g\)。

求原函数前缀和

设 \(s_{n,i}\) 表示 \([1,n]\) 最小质因子大于 \(p_i\) 的所有数的 \(f\) 之和。枚举最小质因子及其次数,得到转移

\[s_{n,i} = g_n - \sum_{j\le i}f(p_j) + \sum\limits_{p_k^t \le n} f(p_k^t)\bigg{(}s_{n/p_k^t},k+1)+[t\gt 1]\bigg{)}
\]

根据神奇的复杂度分析,可以直接递归下去做。

最后加上 \(1\) 的贡献。

Min_25 Sieve 学习笔记的更多相关文章

  1. Min_25筛 学习笔记

    这儿只是一个简单说明/概括/总结. 原理见这: https://www.cnblogs.com/cjyyb/p/9185093.html https://www.cnblogs.com/zhoushu ...

  2. Min_25 筛 学习笔记

    原文链接https://www.cnblogs.com/zhouzhendong/p/Min-25.html 前置技能 埃氏筛法 整除分块(这里有提到) 本文概要 1. 问题模型 2. Min_25 ...

  3. 洲阁筛 & min_25筛学习笔记

    洲阁筛 给定一个积性函数$F(n)$,求$\sum_{i = 1}^{n}F(n)$.并且$F(n)$满足在素数和素数次幂的时候易于计算. 显然有: $\sum_{i = 1}^{n} F(n) = ...

  4. Min_25筛学习笔记

    感觉好好用啊 Luogu上的杜教筛模版题一发 Min_25抢到了 rank1 $ Updated \ on 11.29 $被 STO txc ORZ踩爆啦 前言 $ Min$_$25$筛可以求积性函数 ...

  5. min_25筛学习笔记【待填坑】

    看见ntf和pb两位大佬都来学了,然后就不自觉的来学了. 我们考虑这样一个问题. $$ans=\sum_{i=1}^nf(i)$$其中$1\leq n\leq 10^{10}$ 其中$f(i)$是一个 ...

  6. $Min\_25$筛学习笔记

    \(Min\_25\)筛学习笔记 这种神仙东西不写点东西一下就忘了QAQ 资料和代码出处 资料2 资料3 打死我也不承认参考了yyb的 \(Min\_25\)筛可以干嘛?下文中未特殊说明\(P\)均指 ...

  7. 《软件调试的艺术》学习笔记——GDB使用技巧摘要

    <软件调试的艺术>学习笔记——GDB使用技巧摘要 <软件调试的艺术>,因为名是The Art of Debugging with GDB, DDD, and Eclipse. ...

  8. 初等数论学习笔记 III:数论函数与筛法

    初等数论学习笔记 I:同余相关. 初等数论学习笔记 II:分解质因数. 1. 数论函数 本篇笔记所有内容均与数论函数相关.因此充分了解各种数论函数的名称,定义,符号和性质是必要的. 1.1 相关定义 ...

  9. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  10. PHP-自定义模板-学习笔记

    1.  开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2.  整体架构图 ...

随机推荐

  1. 零基础入门 Java 后端开发,有哪些值得看的视频?

    目前网络上充满了大量的 Java 视频教程,然而内容却鱼龙混杂,为了防止小伙伴们踩坑,一枫结合自己的学习经验,向大家推荐一些不错的学习资源. 作为一名非科班转码选手,可以说,我是在哔哩哔哩上的研究生! ...

  2. python之字典(dict)创建与使用

    字典(dict) 在其他语言中被称为哈希映射(hash map)或者相关数组,它是一种大小可变的键值对集,其中的key.value都是python对象. 特别注意: 1.字典中的key不能重复,key ...

  3. JavaScript:控制跳转:break、continue与标签

    在循环结构中,经常需要使用关键字break和continue来控制跳转: 遇到break,就会跳出循环结构,执行循环体后面的代码: 遇到continue,就会跳出本次循环,进入下一次循环: 那么,假如 ...

  4. 痞子衡嵌入式:Farewell, 我的写博故事2016-2019

    -- 题图:苏州天平山枫叶 现在是 2022 年末,痞子衡又要起笔博文年终总结了,看着 2020 年之前的博文总结缺失,始终觉得缺憾,所以写下此篇 2016 - 2019 总结合辑.2016 年之前, ...

  5. Vue+ElementUI+Springboot实现前后端分离的一个demo

    目录 1.前期准备 2.创建一个vue项目 3.vue前端 4.java后端 5.启动 5.1.启动vue项目 5.2.启动后端 6.效果 7.总结 8.参考资料 vue官方文档:介绍 - Vue.j ...

  6. 基于docker容器的MySQL主从设置及efcore读写分离

    1.基于docker部署MySQL,设置主从 本操作基于已经拉取的镜像(docker pull mysql) 创建一主一从两个数据库容器 docker run -d -p 3307:3306 -e M ...

  7. (9)go-micro微服务Redis配置

    目录 一 go-redis介绍 二 go-redis安装 三 redis初始化连接 四 存储mail邮件 五 存储token 六 最后 一 go-redis介绍 Redis(Remote Dictio ...

  8. day01-Spring基本介绍

    Spring基本介绍 1.官方资料和下载 1.1Spring5下载 直接访问 https://repo.spring.io/ui/native/release/org/springframework/ ...

  9. 使用Zolom内存解析运行python脚本(不落地)

    在目标机器运行python工具 好多工具都是python写的,如果目标机器是linux的话自带python环境可以很方便的运行这些工具,但是windows下是不自带python环境的,所以一种办法是直 ...

  10. Java 入门与进阶P-7.1+P-7.2

    函数的定义 函数的定义 习惯把函数也叫成方法,都是一个意思:函数是具备特定功能的一段代码块,解决了重复性代码的问题. 为什么要定函数呢? 目的是为了提高程序的复用性和可读性. 函数的格式 修饰符返回值 ...