当前位置: 首页 > 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 ,自己写的博客,公式推导过程挺详细的,让我理解了具体实现及推导细节,也是从这开始自己学习数论

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

莫比乌斯反演

10.12

今日任务 + 1

上来放点题 砸死自己

2025-10-12 09-16-20屏幕截图

2025-10-12 09-16-01屏幕截图

2025-10-12 09-16-50屏幕截图

2025-10-12 09-17-06屏幕截图

http://www.hskmm.com/?act=detail&tid=29113

相关文章:

  • 生成式AI实现多模态信息检索技术突破
  • 在运维工作中,如何过滤某个目录在那边什么路径下面?
  • 完整教程:安卓中,kotlin如何写app界面?
  • 移动固态硬盘插入电脑后提示“应该格式化”或“文件系统损坏”如何修复?
  • PHP 15 个高效开发的小技巧
  • AI元人文构想研究:人类拥抱AI的文明新范式
  • 【汇编】汇编语言运行过程
  • 电感式传感器 - 实践
  • CSP-J/S2024第二轮提高级题目知识构成分析报告
  • 浅层 CNN 的瓶颈:用 LeNet 实测不同数据集
  • 文本派 - 停服公告 2025
  • lCode题库
  • Arista cEOS 4.35.0F 发布 - 针对云原生环境设计的容器化网络操作系统
  • Arista vEOS 4.35.0F 发布 - 虚拟化的数据中心和云网络可扩展操作系统
  • 因果机器学习的技术发展与挑战
  • CSP-S 考前集训
  • Arista EOS 4.35.0F 发布 - 适用于下一代数据中心和云网络的可扩展操作系统
  • 20251011 总结
  • 上课讲的部分 qoj 题记录
  • var与let
  • CSP-S 第二轮集训资料 **总结 + 专题细分精讲**_from_黄老师
  • AI元人文:迈向正负价值统一的文明架构
  • CSP-S 第二轮集训资料 **总结 + 专题细分精讲**。
  • 对抗训练提升产品搜索技术解析
  • Ubuntu Linux双网口主机实现在校园网环境下的网络共享
  • C# Avalonia 16- Animation- ExpandElement
  • DshanPI-A1 RK3576 armbian远程桌面
  • Docker安装MQTT
  • Ubuntu Linux双网卡实现在校园网环境下的网络共享
  • PVE8.x仅克隆虚拟机配置