博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
bzoj 2705: [SDOI2012]Longge的问题
阅读量:6771 次
发布时间:2019-06-26

本文共 854 字,大约阅读时间需要 2 分钟。

1 #include
2 #include
3 #include
4 #define ll long long 5 ll n,m,ans; 6 ll phi(ll a1) 7 { 8 ll sum=a1,m=sqrt(a1); 9 for(ll i=2;i<=m;i++)10 if(a1%i==0&&a1)11 {12 sum=sum/i*(i-1);13 for(;a1%i==0;a1/=i); 14 }15 if(a1>1)16 sum=sum/a1*(a1-1);17 return sum;18 }19 int main()20 {21 scanf("%lld",&n);22 m=sqrt(n);23 for(ll i=1;i<=m;i++)24 if(n%i==0)25 {26 ans+=i*phi(n/i);27 if(n/i!=i)28 ans+=n/i*phi(i);29 }30 printf("%lld\n",ans);31 return 0;32 }

题目中要求出∑gcd(i,N)(1<=i<=N)。

枚举n的约数k,令s(k)为满足gcd(m,n)=k,(1<=m<=n)m的个数,则ans=sigma(k*s(k)) (k为n的约数)

因为gcd(m,n)=k,所以gcd(m/k,n/k)=1,于是s(k)=euler(n/k)

phi可以在根号的时间内求出

转载于:https://www.cnblogs.com/xydddd/p/5304568.html

你可能感兴趣的文章
CentOS 7 将 Nginx 添加系统服务
查看>>
uni-app 1.4 发布,一套代码,发行小程序(微信/支付宝/百度)、H5、App多个平台...
查看>>
React中富文本编辑器的技术选型调研
查看>>
网易云 MySQL实例迁移的技术实现
查看>>
一、 函数调用栈,执行上下文及变量对象
查看>>
智能支付稳定性测试实战
查看>>
Alibaba Cluster Data 开放下载:270GB 数据揭秘你不知道的阿里巴巴数据中心
查看>>
写了一个可以通过调后台接口实现模糊查询的下拉框(因为layui.js不满足需求)。...
查看>>
egg(47,48)--rbac之角色和权限关联,角色授权
查看>>
ERC721协议详解 --Solidity
查看>>
达观数据王文广:如何玩转自然语言理解和深度学习实践?
查看>>
Keras入门(二)模型的保存、读取及加载
查看>>
详解http-2头部压缩算法
查看>>
Elasticsearch 参考指南(Multi Get API)
查看>>
用java简单分析下比特币区块链
查看>>
美团深度学习系统的工程实践
查看>>
关于css布局、居中的问题以及一些小技巧
查看>>
让你的app体验更丝滑的11种方法!冲击手机应用榜单Top3指日可待
查看>>
制作60fps的高性能动画
查看>>
724. Find Pivot Index
查看>>