博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
bzoj 2005
阅读量:5279 次
发布时间:2019-06-14

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

    裸的2D gcd。ans=(Σ(d<=n)phi[d]*(n/d)*(m/d))*2-n*m;

    

1 #include
2 #include
3 #include
4 #include
5 #define int long long 6 using namespace std; 7 int n,m; 8 int pr[100005],su[100005],cnt,phi[100005]; 9 void shai()10 {11 phi[1]=1;12 for(int i=2;i<=100000;i++)13 {14 if(!phi[i])su[++cnt]=i,pr[i]=i,phi[i]=i-1;15 for(int j=1;su[j]<=pr[i]&&su[j]*i<=100000&&j<=cnt;j++)16 {17 pr[su[j]*i]=su[j];18 if(su[j]==pr[i])phi[su[j]*i]=phi[i]*su[j];19 else phi[su[j]*i]=phi[i]*(su[j]-1);20 }21 }22 }23 signed main()24 {25 shai();26 scanf("%lld%lld",&n,&m);int ans=0;27 for(int i=1;i<=min(n,m);i++)ans+=phi[i]*(n/i)*(m/i);28 ans*=2;ans-=(n*m);29 printf("%lld\n",ans);30 return 0;31 }

 

     

转载于:https://www.cnblogs.com/ezyzy/p/6154769.html

你可能感兴趣的文章
docker入门学习(四) 安装nginx及配置
查看>>
BottomNavigationBarItem fixed
查看>>
[BZOJ1601] [Usaco2008 Oct] 灌水 (kruskal)
查看>>
有人物联网数传终端设备在智慧电力和公共事业中的应用
查看>>
《剑指offer》第三_二题(不修改数组找出重复的数字)
查看>>
windows 核心编程第一章:关于错误
查看>>
20. Spring Boot Servlet【从零开始学Spring Boot】
查看>>
js原型链实现
查看>>
数据结构之链表
查看>>
WPF / Win Form:多线程去修改或访问UI线程数据的方法( winform 跨线程访问UI控件 )...
查看>>
SPOJ DCEPC11I
查看>>
Mongodb关闭开源许可感想
查看>>
GCD 的初步认识
查看>>
好设计,迁移不费劲
查看>>
orz gzy
查看>>
JAVA源码分析------锁(1)
查看>>
HDU 4920 Matrix multiplication
查看>>
ACdream 1068
查看>>
会声会影毛玻璃制作
查看>>
HDU 2665 Kth number
查看>>