news 2026/9/4 5:16:45

区间因数个数之和【牛客tracker 每日一题】

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
区间因数个数之和【牛客tracker 每日一题】

区间因数个数之和

时间限制:1 秒
空间限制:256 MB

网页链接

牛客tracker

牛客tracker & 每日一题,完成每日打卡,即可获得牛币。获得相应数量的牛币,能在【牛币兑换中心】,换取相应奖品!助力每日有题做,丰盈牛币日益多!


题目描述

对于给定的l , r l, rl,r,求值在l ∼ r l \sim rlr之间的所有整数的因数个数之和,形式化的,求∑ i = l r ∑ d ∣ i 1 \sum_{i=l}^{r} \sum_{d \mid i} 1i=lrdi1的值。


输入描述

输入包含一行两个整数l , r ( 1 ≤ l ≤ r ≤ 10 12 ) l, r\ (1 \le l \le r \le 10^{12})l,r(1lr1012)


输出描述

输出一行一个整数,代表l ∼ r l \sim rlr中所有数的因数个数之和。


示例 1

输入:

2 5

输出:

9

示例 2

输入:

555 666

输出:

852

解题思路

本题是数论中因子个数求和的经典问题。要求计算区间[ l , r ] [l, r][l,r]内所有整数的因子个数之和,即∑ i = l r d ( i ) \sum_{i=l}^{r} d(i)i=lrd(i),其中d ( i ) d(i)d(i)表示i ii的因子个数。由于r rr可达10 12 10^{12}1012,不能直接枚举每个数求因子,需要利用前缀和与数论分块/对称性优化。

1. 问题等价转化
2. 高效计算F ( n ) F(n)F(n)
3. 算法步骤
  1. 读入l , r l, rl,r
  2. 定义函数sum(n)计算F ( n ) F(n)F(n)
    • n ≤ 0 n \le 0n0返回0 00
    • 计算q = ⌊ n ⌋ q = \lfloor \sqrt n \rfloorq=n,循环i = 1 ∼ q i = 1 \sim qi=1q,累加2 × ( ⌊ n / i ⌋ − i ) + 1 2 \times (\lfloor n/i \rfloor - i) + 12×(⌊n/ii)+1
  3. 答案 =sum(r) - sum(l-1),输出即可。
4. 复杂度分析

总结

将区间因子个数之和转化为前缀和差分,利用⌊ n / d ⌋ \lfloor n/d \rfloorn/d的对称性将单次查询优化到O ( n ) O(\sqrt n)O(n)。方法简单高效,适用于10 12 10^{12}1012级别的大范围求和。

代码内容

#include<bits/stdc++.h>usingnamespacestd;#defineendl'\n'typedeflonglongll;typedefunsignedlonglongull;typedefvector<vector<ll>>vvt;typedefpair<ll,ll>pll;constll N=1e3+10;constll INF=1e18;constll M=1e6+10;constll mod=1e9+7;llsum(ll n){ll q=sqrt(n),t,res=0;for(ll i=1;i<=q;i++){t=n/i-i;res+=t*2+1;}returnres;}intmain(){ios::sync_with_stdio(0);cin.tie(0),cout.tie(0);ll l,r;cin>>l>>r;cout<<(sum(r)-sum(l-1))<<"\n";return0;}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/4 5:16:05

全模态实时交互驱动技术:从多模态感知到全身运动控制的实践指南

这次我们来看一个名为“全模态实时交互驱动全身移动操作”的项目。从标题来看&#xff0c;这是一个融合了多种感知输入&#xff08;全模态&#xff09;和实时控制&#xff08;实时交互&#xff09;&#xff0c;旨在驱动实体或虚拟角色进行全身移动操作的技术方案。它很可能涉及…

作者头像 李华
网站建设 2026/9/4 5:16:03

从临时直播到可复用流程:构建高韧性数字协作工作流

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/4 5:15:50

电力系统碳排放流计算:从潮流追踪到碳责任分摊的MATLAB实现

简介&#xff1a;本资源是面向电力系统方向研究生、科研人员及能源低碳领域工程师的学术复现代码包&#xff0c;聚焦“双碳”背景下电力系统碳排放流建模这一基础且高引的研究问题&#xff0c;完整复现了周天睿《电力系统碳排放流的计算方法初探》一文的核心算法。压缩包共10个…

作者头像 李华
网站建设 2026/9/4 5:15:21

GD32F470 USB HOST读写U盘与IAP升级:从原理到工程实践

简介&#xff1a;本资源是一套基于GD32F470芯片的C语言USB Host完整实现方案&#xff0c;面向计算机、嵌入式及相关专业学生&#xff0c;专为课程设计、毕业设计及期末大作业打造&#xff0c;解决MCU端识别U盘、读写文件系统&#xff08;FatFS&#xff09;、并基于U盘固件实现I…

作者头像 李华
网站建设 2026/9/4 5:14:57

Windows设备代码43错误:系统性诊断与解决指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华