当前位置: 首页 > news >正文

数论学习之路

如果不太影响理解与运用的证明 或是我不会的证明 就都不计喽

关于数论分块我就不想写了感觉比较基础


线性筛

先来说线性筛

一篇推荐的博客

\(O(n)\) 预处理积性函数

常见用法:

  • \(f(1)=1\)
  • \(f(p)=...\) (一般是直接赋值)
  • \(f(p^k)=...\) (一般也是递推的样子)

然后处理出来 \(low_i\) 表示 \(i\) 中最小值因子的指数次幂

具体运算就可以套板子了

点击查看代码
void Euler(int n){s[1]=low[1]=isp[1]=1;//情况1for(int i=2;i<=n;i++){if(!isp[i])p[++cnt]=i,low[i]=i,s[i]=;//情况2for(int j=1;j<=cnt&&i*p[j]<=n;j++){isp[i*p[j]]=1;if(i%p[j]==0){low[i*p[j]]=low[i]*p[j],phi[i*p[j]]=phi[i]*p[j];if(low[i]==i){s[i*p[j]]=;//情况3}else{s[i*p[j]]=s[i/low[i]]*s[low[i]*p[j]];}break;}low[i*p[j]]=p[j],s[i*p[j]]=s[i]*s[p[j]];}}
}

具体题目的例子我就不放了因为后面很多代码中都有不同用法


Dirichlet 卷积

只要知道定义式就好啦

2025-10-12 08-51-27屏幕截图

杜教筛

\(O(n^\frac{2}{3})\) 的时间复杂度内求积性函数前缀和

关键式子:

2025-10-12 08-36-50屏幕截图

最后就是一个递归的形式,里面是整除分块

要使用线性筛预处理一部分,再用 unordered_map 做一下记忆化

写法用 \(phi\) 的前缀和举例

点击查看代码
int getphi(int n){if(n<=N)return sp[n];//线性筛预处理的项if(ansp[n])return ansp[n];//unordered_map记忆化int ans=n*(n+1)/2;//计算f卷gfor(int l=2,r;l<=n;l=r+1){//整除分块r=n/(n/l);ans-=(r-l+1)*getphi(n/l);//递归处理}return ansp[n]=ans;//记忆化
}

例题:

【模板】杜教筛 这个比较简单只是用来理解原理和实现过程

对与杜教筛的第一次练习 bjzx 25-1007 模拟赛 T4 ,自己写的博客,公式推导过程挺详细的,让我理解了具体实现及推导细节,也是从这开始自己学习数论

其他题目也会有这部分内容

http://www.jsqmd.com/news/11977/

相关文章:

  • CSharp: Aspose.Cells 8.3.0 web excel Viewer
  • 详细介绍:C# WinForms的入门级画板实现
  • 【springboot的分页功能TableDataInfo,有时候需要艰难的分页实现,怎么办呢?】
  • 生成式AI实现多模态信息检索技术突破
  • 在运维工作中,如何过滤某个目录在那边什么路径下面?
  • 完整教程:安卓中,kotlin如何写app界面?
  • 移动固态硬盘插入电脑后提示“应该格式化”或“文件系统损坏”如何修复?
  • PHP 15 个高效开发的小技巧
  • AI元人文构想研究:人类拥抱AI的文明新范式
  • 华为发布星河AI广域网解决方案,四大核心能力支撑确定性网络 - 详解
  • 【汇编】汇编语言运行过程
  • 设计模式与原则精要 - 详解
  • 电感式传感器 - 实践
  • CSP-J/S2024第二轮提高级题目知识构成分析报告
  • 浅层 CNN 的瓶颈:用 LeNet 实测不同数据集
  • lCode题库
  • Arista cEOS 4.35.0F 发布 - 针对云原生环境设计的容器化网络操作系统
  • Arista vEOS 4.35.0F 发布 - 虚拟化的数据中心和云网络可扩展操作系统
  • 因果机器学习的技术发展与挑战
  • 深入解析:Spring依赖注入方式
  • CSP-S 考前集训
  • 通过rqlite sdk 快速访问sqlite-vec
  • CSharp: itextsharp5 imge converter pdf
  • 20251011 总结
  • 上课讲的部分 qoj 题记录
  • var与let
  • CSP-S 第二轮集训资料 **总结 + 专题细分精讲**_from_黄老师
  • AI元人文:迈向正负价值统一的文明架构
  • CSP-S 第二轮集训资料 **总结 + 专题细分精讲**。
  • Ubuntu Linux双网口主机实现在校园网环境下的网络共享