恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

洛谷 P2424:约数和 ← 整数分块算法 + 约数

  • 首页
  • 资讯中心
  • /
  • 洛谷 P2424:约数和 ← 整数分块算法 + 约数

相关资讯

3个关键指标,帮你选出专业的种子包装袋厂家 2026/8/2 18:56:27
GitHub开源实测|OpenLogi:Rust零遥测罗技外设替代工具 架构深度评测与企业落地风控指南 2026/8/2 18:56:27
Credit Network Modeling and Analysis via Large Language Models 2026/8/2 18:56:28

最新资讯

基于SpringBoot+Vue的校园管理系统开发实战:从权限模型到部署
OpenCore Legacy Patcher 指南:约 90 分钟让十年前的 Mac 装上最新 macOS
SpringBoot+Vue旅游管理系统实战:从建表到部署避坑全解析
2025开题报告AI工具实测:8款软件优劣与避坑指南
快速搞定 Hermes WebUI 会话管理:找到、整理、流转一次讲清
如何用 uv 安装 Odysseus 依赖并生成 requirements.lock 锁定可复现版本

今日推荐

基于MongoDB的图书管理系统:数据建模与Spring Boot+Vue实战
Claude Code安装配置全攻略:从零开始用上终端AI编程助手
tmux 会话管理与终端复用:AI 编程工作流的调度中枢实战

本周热门

超人会飞不算本事:系统稳定依赖清晰规则与边界设计
超人VS蜘蛛侠:拆解超级IP的影响力与传播方法论
基于CNN的调制信号识别:MATLAB实现时频图分类实战

本月精选

自研推理加速器Redwood:两周内实现PyTorch模型高效部署的实战教程
V4L2摄像头采集实战:从camera_client.rar到出图全流程解析
从“谁发明了钢琴键”到知识问答智能体:RAG与记忆工程实践

洛谷 P2424:约数和 ← 整数分块算法 + 约数

发布时间:2026/9/9 14:21:12
洛谷 P2424:约数和 ← 整数分块算法 + 约数 【题目来源】https://www.luogu.com.cn/problem/P2424【题目描述】对于一个数 X函数 f(X) 表示 X 所有约数的和。例如f(6)123612。对于一个 XSmart 可以很快的算出 f(X)。现在的问题是给定两个正整数 X,Y(XY)Smart 希望尽快地算出 f(X)f(X1)……f(Y)的值你能帮助 Smart 算出这个值吗【输入格式】输入文件仅一行两个正整数 X 和 Y(XY)表示需要计算 f(X)f(X1)⋯f(Y)。​​​​​​​【输出格式】输出只有一行为 f(X)f(X1)⋯f(Y) 的值。​​​​​​​【输入样例】123 321​​​​​​​【输出样例】72543【数据范围】对于 20% 的数据有 1≤XY≤10^5。对于 60% 的数据有 1≤XY≤1×10^7。对于 100% 的数据有 1≤XY≤2×10^9。【算法分析】● 洛谷 P2424 要求计算∑f(i)i1~n。其中f(i) 表示 i 的所有约数之和。直接计算每个数的约数之和再累加复杂度太高。我们用交换求和顺序的技巧1枚举每个可能的约数 d统计它在 1∼n 中作为约数出现的次数。2对于约数 d它在 1∼n 中作为约数出现的次数是 ⌊n/d⌋每次贡献 d。因此∑f(i)d⋅⌊n/d⌋d1~n。例如若 i1~6则 ∑f(i)f(1)f(2)f(3)f(4)f(5)f(6)1(12)(13)(124)(15)(1236)1×⌊6/1⌋2×⌊6/2⌋3×⌊6/3⌋4×⌊6/4⌋5×⌊6/5⌋6×⌊6/6⌋。● 对于块 [le,ri]⌊n/d⌋k 为常数需要计算∑d⋅kk⋅∑ddle~ri。区间 [le,ri] 内所有 d 的和是一个等差数列∑d(leri)⋅(ri−le1)/2dle~ri。● 注意这道题交换了求和顺序从“枚举每个数 i求它的所有约数之和”变成了“枚举每个约数 d统计它在多少个数中出现过”。这个转换改变了枚举的对象从 i 变成了 d但 d 本身的顺序依然是 1, 2, 3, ... 递增的没有被打乱。● 本题代码与“洛谷 P3935Calculatinghttps://blog.csdn.net/hnjzsyjyj/article/details/162990202”及其类似。【算法代码】#include bits/stdc.h using namespace std; typedef long long LL; LL cal(LL n) { LL t0; for(LL le1,ri0; len; leri1) { LL kn/le; rin/k; ttk*(rile)*(ri-le1)/2; } return t; } int main() { ios::sync_with_stdio(0); cin.tie(0); LL le,ri; cinleri; LL anscal(ri)-cal(le-1); coutans\n; return 0; } /* in:123 321 out:72543 */【参考文献】https://blog.csdn.net/hnjzsyjyj/article/details/162990202https://blog.csdn.net/hnjzsyjyj/article/details/163011369https://blog.csdn.net/hnjzsyjyj/article/details/162819219

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号