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

一些特殊的用法 trick

约数个数

在小于 \(10^5\) 的数中,一个数最多有128个因子。

在小于 \(10^5\) 的数中,一个数最多有 \(128\) 个因子。
在小于 \(10^6\) 的数中,一个数最多有 \(240\) 个因子。
在小于 \(10^7\) 的数中,一个数最多有 \(448\) 个因子。
在小于 \(10^8\) 的数中,一个数最多有 \(768\) 个因子。
在小于 \(10^9\) 的数中,一个数最多有 \(1344\) 个因子。
在小于 \(10^{10}\) 的数中,一个数最多有 \(2304\) 个因子。
在小于 \(10^{12}\) 的数中,一个数最多有 \(6720\) 个因子。
在小于 \(10^{15}\) 的数中,一个数最多有 \(26880\) 个因子。
在小于 \(10^{18}\) 的数中,一个数最多有 \(103680\) 个因子。

质数个数

\(1\sim n\) 中的质数个数约为:

\[\frac{x}{\ln x} \]

这就是一种启发,使用枚举质数来优化时间。

特殊的前 n 项和

\(\sqrt n\) 的前 n 项和

调和级数的前 n 项和

调和级数即:

\[\sum_i^n \frac{1}{i} \approx \ln n \]

即:

\[\sum_i^n \frac{n}{i} \approx n\ln n \]

常用于某些题时间的计算,比如这样:

for (int i = 1; i <= n; i ++ )for (int j = 1; j <= n / i; j ++ ){....}

这个时间复杂度不是 \(\operatorname O(n^2)\),而是 \(\operatorname O(n\log n)\)。算是常识。

排列中 mex 与 min 的转化

对于一个排列,前缀 mex 的询问,可以转换为后缀最小值:

\[\operatorname{mex}_{i = 1}^ja_i = \min_{i = j + 1}^n \limits{a_i} \]

例题:Codeforces Round 915 (Div. 2) D. Cyclic MEX

计算 \(n!\) 的末尾 \(0\) 的个数

公式如下:

\[ans = \lfloor \frac{n}{5} \rfloor + \lfloor \frac{n}{25} \rfloor + \lfloor \frac{n}{125} \rfloor + ... \]

计算 \(n!\) 的末尾 \(0\) 的个数,实际上就是计算 \(1 * 2 * 3 * ... * n - 1 * n\) 中因子 \(10\) 的个数

\(10 = 2 * 5\) ,且在 \(n!\) 中,因子 \(2\) 的个数远远多于因子 \(5\) 的个数 ,所以只需要统计 \(n!\) 中所有因子 \(5\) 的个数即可

已知 \(1\)\(n\)\(5\) 的倍数的个数为 \(\lfloor \frac{n}{5} \rfloor\),但如果直接将 \(\lfloor \frac{n}{5} \rfloor\) 当作答案会漏掉 \(5\) 的个数
因为 \(25 = 5 * 5\) 贡献了 \(2\)\(5\) , \(125 = 5 * 5 * 5\) 贡献了 \(3\)\(5\) ...

可以通过重复计数来补上这些漏掉的 \(5\)

  • \(\lfloor \frac{n}{5} \rfloor\) 统计所有 \(5\) 的倍数贡献的第一个 \(5\)
  • \(\lfloor \frac{n}{25} \rfloor\) 统计所有 \(25\) 的倍数贡献的第二个 \(5\)
  • \(\lfloor \frac{n}{125} \rfloor\) 统计所有 \(125\) 的倍数贡献的第三个 \(5\)
  • ......

这样一来就可以完整地统计出 \(n!\) 中所有因子 \(5\) 的个数了。

本质上这个算是利用特殊的因子来确定合数,用一个确定另一个,这种转化的思想很 nb。

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

相关文章:

  • 2026年升级:昆明市名烟回收工艺公司 - 品牌推广大师
  • 2026 中国卷圆机权威实力排行榜 - 安徽工业
  • 2026 年北京 GEO 优化服务商盘点:五家头部企业技术实力与选型指南 - GEO优化
  • SARscape处理中DEM格式转换的隐形陷阱:从.hgt到.dat,我的踩坑与修复实录
  • 从配置到联机:AGV二维码导航视觉传感器TDCS-0100与PLC通信全流程解析
  • 为什么你的Terraform跑不通DeepSeek模型服务?3大底层约束未声明(GPU资源拓扑/网络策略/镜像签名链),附官方CLI诊断工具
  • Pikachu靶场XSS漏洞实战:从原理到绕过的通关解析
  • 4.4 game
  • 3分钟实现专业词典制作:AutoMdxBuilder智能文档生成工具完全指南
  • 硬件驱动定位上限与算力原生无限迭代技术解析UWB:硬件驱动定位上限|镜像:算力原生无限迭代
  • Claude Code 安装与配置指南:手把手教你接入DeepSeek API(实操一遍过)
  • 2026 年国内 GEO 优化公司有哪些?五月 5 家头部服务商综合实力盘点与选型指南 - GEO优化
  • 保姆级教程:用晶晨S905L3B机顶盒搭建24小时在线的Home Assistant服务器(含Armbian写入EMMC)
  • 如何快速掌握Notepad++实时Markdown预览插件:新手必看的完整教程
  • 别再死记公式了!用Python+SymPy玩转平衡电桥,5分钟搞定复杂电路等效电阻
  • 从西瓜数据到决策边界:手把手实现周志华《机器学习》中的对率回归分类器
  • 智慧工业火花火星烟火火灾检测数据集VOC+YOLO格式3965张4类别
  • 测试工程师的终身学习:如何保持测试技术竞争力
  • 终极指南:3分钟快速上手AMD Ryzen调试神器SMUDebugTool
  • 2026 PM知行商学院深度解析:定位、适配人群与创业优势测评 - 资讯速览
  • 从‘实体’到‘铰接’:一个SOLIDWORKS Simulation案例,带你理解有限元中的约束本质
  • 用STM32CubeMX的TIM6实现精准1秒定时:HAL库与LL库代码对比与选择建议
  • 终于有人把图计算讲明白了
  • 如何将 Infinix 手机中的联系人传输到 iPhone
  • Layerdivider终极指南:5步掌握AI图像分层技术,免费生成专业PSD文件
  • 如何在Photoshop中无缝集成AI绘图能力?SD-PPP插件的完整指南
  • 【vue】avue-crud表格与列属性实战:从配置清单到高效开发
  • 测试工程师的人生规划:如何平衡测试工作和生活
  • Vue3 Composition API:深度解析与最佳实践
  • 非谓语动词实战指南:解锁不定式、分词与动名词的进阶用法