题解:考虑每个因子的贡献,n/d有√n种取值
O(√n)
#include<iostream> #include<cstdio> #include<cstring> using namespace std; int ans; int n; int main(){ cin>>n; for(int i=1;i<=n;++i)ans+=n/i; cout<<ans<<endl; return 0; }
Posted zzyer
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BZOJ 1968 [Ahoi2005]COMMON 约数研究相关的知识,希望对你有一定的参考价值。
题解:考虑每个因子的贡献,n/d有√n种取值
O(√n)
#include<iostream> #include<cstdio> #include<cstring> using namespace std; int ans; int n; int main(){ cin>>n; for(int i=1;i<=n;++i)ans+=n/i; cout<<ans<<endl; return 0; }
以上是关于BZOJ 1968 [Ahoi2005]COMMON 约数研究的主要内容,如果未能解决你的问题,请参考以下文章
bzoj1968: [Ahoi2005]COMMON 约数研究
BZOJ 1968: [Ahoi2005]COMMON 约数研究
BZOJ-1968: [Ahoi2005]COMMON 约数研究 (思想)
BZOJ 1968 [Ahoi2005]COMMON 约数研究