题目

看到题解区很多人直接给出结论:答案为 \(\displaystyle \sum_{i=1}^n\lfloor{n\over i}\rfloor\) ,没给出证明,这里给出证明


【分析】

首先,我们可以知道 \(\displaystyle f(n)=\sum_{d\mid n}1\)

有的同学看不懂这个公式,我解释一下,这个公式表达:

枚举 \(n\) 的因数 \(d\),每枚举一个因数 \(d\), \(f(n)\) 加 \(1\)

\(d\mid n\) 指 \(d\) 是 \(n\) 的因数

这样一来,我们就可以和题目的对应上了: \(f(n)\) 代表 \(n\) 的因数个数


\(\displaystyle f(n)=\sum_{d\mid n}1\) 还有一种表达方式是 \(\displaystyle f(n)=\sum_{d=1}^n[d\mid n]\)

后面那个鬼东西 \([d\mid n]\) 是一个判断正误的函数,正确为 \(1\) ,错误为 \(0\)

这个应该理解起来也不难:

枚举每一个数 \(d\) ,当 \(d\) 是 \(n\) 的因数时, \(f(n)\) 加 \(1\)


题目要求的 \(\displaystyle M=\sum_{i=1}^n f(i)\)

我们代入上面的定义式:

\(\quad \displaystyle M\)

\(\displaystyle=\sum_{i=1}^n\sum_{d\mid i}1\)

\(\displaystyle=\sum_{i=1}^n\sum_{d=1}^i[d\mid i]\)

我们调换一下枚举的顺序,把 \(d\) 的枚举提前。

相当于考虑 \(d=1\) 时,对 \(i=1,2,3\dots n\) 的贡献; \(d=2\) 时对 \(i=1,2,3\dots n\) 的贡献; \(\dots\) ;\(d=n\) 时对 \(i=1,2,3\dots n\) 的贡献

\(\displaystyle=\sum_{d=1}^n\sum_{i=1}^n[d\mid i]\)

对于一个固定的 \(d\) ,\(\displaystyle\sum_{i=1}^n[d\mid i]\) 的意义非常直观:

\(1\)~\(n\) 中,有多少个数以 \(d\) 为因数,即多少个数是 \(d\) 的倍数

应该是 \(\lfloor{n\over d}\rfloor\) 吧

所以我们得到 \(\displaystyle M=\sum_{d=1}^n\lfloor{n\over d}\rfloor\)


【代码】

那本蒟蒻就放 我码风极丑的 代码了:

C++ 版:

#include<iostream>
using namespace std;
int main(){
int n,ans=0;
cin>>n;
for(int i=1;i<=n;i++) ans+=n/i;
cout<<ans;
}

Python 3 版:

ans=0
n=int(input())
for i in range(1,n+1):
ans+=n//i
print(ans)

最后安利一下本蒟蒻的博客

题解 P1403 【[AHOI2005]约数研究】的更多相关文章

  1. 洛谷——P1403 [AHOI2005]约数研究

    P1403 [AHOI2005]约数研究 题目描述 科学家们在Samuel星球上的探险得到了丰富的能源储备,这使得空间站中大型计算机“Samuel II”的长时间运算成为了可能.由于在去年一年的辛苦工 ...

  2. 洛谷P1403 [AHOI2005] 约数研究 [数论分块]

    题目传送门 约数研究 题目描述 科学家们在Samuel星球上的探险得到了丰富的能源储备,这使得空间站中大型计算机“Samuel II”的长时间运算成为了可能.由于在去年一年的辛苦工作取得了不错的成绩, ...

  3. P1403 [AHOI2005]约数研究 题解

    转载luogu某位神犇的题解QAQ 这题重点在于一个公式: f(i)=n/i 至于公式是怎么推出来的,看我解释: 1-n的因子个数,可以看成共含有2因子的数的个数+含有3因子的数的个数……+含有n因子 ...

  4. P1403 [AHOI2005]约数研究

    原题链接 https://www.luogu.org/problemnew/show/P1403 这个好难啊,求约数和一般的套路就是求1--n所有的约数再一一求和,求约数又要用for循环来判断.... ...

  5. 洛谷 P1403 [AHOI2005]约数研究

    怎么会有这么水的省选题 一定是个签到题. 好歹它也是个省选题,独立做出要纪念一下 很容易发现在1~n中,i的因子数是n / i 那就枚举每一个i然后加起来就OK了 #include<cstdio ...

  6. BZOJ 1968_P1403 [AHOI2005]约数研究--p2260bzoj2956-模积和∑----信息学中的数论分块

    第一部分 P1403 [AHOI2005]约数研究 题目描述 科学家们在Samuel星球上的探险得到了丰富的能源储备,这使得空间站中大型计算机“Samuel II”的长时间运算成为了可能.由于在去年一 ...

  7. [AHOI2005]约数研究

    题目描述 科学家们在Samuel星球上的探险得到了丰富的能源储备,这使得空间站中大型计算机“Samuel II”的长时间运算成为了可能.由于在去年一年的辛苦工作取得了不错的成绩,小联被允许用“Samu ...

  8. 【洛谷P1403】约数研究

    题目大意:求\[\sum\limits_{i=1}^n\sum\limits_{d|i}1\] 题解:交换求和顺序即可. \[\sum\limits_{i=1}^n\sum\limits_{d|i}1 ...

  9. BZOJ1968 [Ahoi2005] 约数研究

    Description Input 只有一行一个整数 N(0 < N < 1000000). Output 只有一行输出,为整数M,即f(1)到f(N)的累加和. Sample Input ...

随机推荐

  1. Redis 详解 (四) redis的底层数据结构

    目录 1.演示数据类型的实现 2.简单动态字符串 3.链表 4.字典 5.跳跃表 6.整数集合 7.压缩列表 8.总结 上一篇博客我们介绍了 redis的五大数据类型详细用法,但是在 Redis 中, ...

  2. redis以服务模式开机启动

    第一步 修改redis为后台启动 vim /usr/redis/redis.conf #路径根据实际情况决定 # By default Redis does not run as a daemon. ...

  3. 【转载】Android Gradle Build Error:Some file crunching failed, see logs for details解决办法

    Android Gradle Build Error:Some file crunching failed, see logs for details解决办法 转载请标明出处: http://www. ...

  4. SQLAlchemy建立数据库模型之间的关系

    一对多关系 多对一关系 多对多关系 一对一关系 一对多关系(一个作者,多篇文章) ## 一对多关系,单作者-多文章,外键不可少 ## 外键(ForeignKey)总在多的那边定义,关系(relatio ...

  5. Python 中 对logging 模块进行封装,记录bug日志、日志等级

    是程序产生的日志 程序员自定义设置的 收集器和渠道级别那个高就以那个级别输出 日志和报告的作用: 报告的重点在于执行结果(执行成功失败,多少用例覆盖),返回结果 日志的重点在执行过程当中,异常点,哪里 ...

  6. 八、JavaScript之执行语句

    一.代码如下 二.运行结果如下 <!DOCTYPE html> <html> <meta http-equiv="Content-Type" cont ...

  7. spring boot 实战教程

    二八法则 - get more with less Java.spring经过多年的发展,各种技术纷繁芜杂,初学者往往不知道该从何下手.其实开发技术的世界也符合二八法则,80%的场景中只有20%的技术 ...

  8. 修改element-ui里table中悬浮框中三角号的颜色及透明度设置

    .el-tooltip__popper,.el-tooltip__popper.is-dark{background:rgba(0,0,0,0.6) !important;} .el-tooltip_ ...

  9. 关于低成本Sub-1Ghz无线射频方案首选:CMT2110A

    对于现在的无线遥控市场竞争力极大,不过是在成本方面和性能方面大家都希望能做到精打细算,目前超低功耗Sub-1Ghz 首选方案是CMT2110/17A 芯片具有超低成本,高性能灵活的单芯片OOK发射器, ...

  10. 二十六、CI框架之分页

    一.在模型中读取数据库中的表 二.在控制器中添加dividePage函数 三.在View中写入显示代码 四.查看效果,还是挺漂亮的分页效果 不忘初心,如果您认为这篇文章有价值,认同作者的付出,可以微信 ...