[AHOI2005]约数研究

没错,数学也有分类了qaq,我之前学算法的时候妹学数学,今天算是被搞怕了(但还是不听ovo)

学会了两种方法,主要思想还是,对于每个i来说,他在从1-n中的贡献值是n/i,也就是1-n中约数含有它的数目是n/i(厉害吧,刚学的)
另外一种方法是筛法,说实话这个你应该想到的(恼),不优化会爆的(30分)

1|0题目描述

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

小联最近在研究和约数有关的问题,他统计每个正数 N 的约数的个数,并以 f(N) 来表示。例如 1212 的约数有 1,2,3,4,6,12,因此 (12)=6f(12)=6。下表给出了一些 (f(N) 的取值:

N112233445566
f(N) 11 22 22 33 22 44

现在请你求出:

f[i]的前n项和

2|0输入格式

输入一个整数 n。

3|0输出格式

输出答案。

4|0输入输出样例

输入 #1
3
输出 #1
5

5|0说明/提示

  • 对于 20%20% 的数据,
    复制代码
    //方法一: #include<bits/stdc++.h> using namespace std; int main() { long long res=0; int n; cin>>n; for(int i=1;i<=n;i++) res+=n/i; cout<<res; } //筛法 #include<bits/stdc++.h> using namespace std; const int N=1000010; int f[N],n,res; int main() { cin>>n; for(int i=1;i<=n;i++) { for(int j=i;j<=n;j+=i) f[j]++; res+=f[i]; } cout<<res; return 0; }
    复制代码

     

    ≤5000N5000;
  • 对于 100%100% 的数据,1≤≤1061N106。

__EOF__

本文作者Sakurajimamai
本文链接https://www.cnblogs.com/o-Sakurajimamai-o/p/17435402.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   o-Sakurajimamai-o  阅读(5)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
-- --
点击右上角即可分享
微信分享提示