【洛谷p1403 】【AHOI2005】约数研究

(有种失踪人口回归的感觉)

约束研究【传送门】

(不过好像没有人注意到我这个蒟蒻)

好的不管它啦

最近学数论比较多,所以可能会有好多好多的数论题???(不存在的)

行吧上算法标签:


 

数论   数论   数论

首先显然它求的是Σψ(i)i∈(1,n)下面补充关于ψ(i)的百度百科知识(或许有些奇怪……):

行吧那个长得像裤子的东西是求积(和西格玛差不多吧??)

 接下来讲一下原理:

我们可以反过来考虑,显然如果分别求1-n中每个数的正约数个数,我们会炸掉的(tle喽),所以我们就反向思维,对于每个数i,1-n中都会有i,2i,3i,4i,……[n/i]*i([n/i]向下取整)个不同的因数,那么1-n中为i的个数的数就为n/i(向下取整)个,依据此,我们可以写出循环:

    for(int i=1;i<=n;i++)
      ans+=n/i;

依次判断1-n有几个因数……好像没表达清楚(不管了详情见信息学奥赛一本通提高篇p382.4)

附ac代码:

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

end-

 

猜你喜欢

转载自www.cnblogs.com/zhuier-xquan/p/10548524.html
0条评论
添加一条新回复