博客
关于我
[bzoj2818][莫比乌斯反演]Gcd
阅读量:91 次
发布时间:2019-02-26

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

Description

给定整数N,求1<=x,y<=N且Gcd(x,y)为素数的 数对(x,y)有多少对.

Input

一个整数N

Output

如题

Sample Input

4

Sample Output

4

HINT

对于样例(2,2),(2,4),(3,3),(4,2)

1<=N<=10^7

题解

重学莫反

这里写图片描述

#include
#include
#include
#include
#include
using namespace std;typedef long long LL;int mu[11000000],prime[11000000],pr,n;bool v[11000000];void getmu(){ memset(v,true,sizeof(v)); mu[1]=1;pr=0; for(int i=2;i<=10000000;i++) { if(v[i]==true) { prime[++pr]=i; mu[i]=-1; } for(int j=1;i*prime[j]<=10000000 && j<=pr;j++) { v[i*prime[j]]=false; if(i%prime[j]==0) { mu[i*prime[j]]=0; break; } else mu[i*prime[j]]=-mu[i]; } }}int main(){ scanf("%d",&n); getmu();LL ans=0; for(int i=1;prime[i]<=n;i++) { for(LL j=1;j<=(LL)n/prime[i];j++) ans+=(LL)mu[j]*((n/prime[i])/j)*((n/prime[i])/j); } printf("%lld\n",ans); return 0;}
你可能感兴趣的文章
mapping文件目录生成修改
查看>>
MapReduce程序依赖的jar包
查看>>
mariadb multi-source replication(mariadb多主复制)
查看>>
MariaDB的简单使用
查看>>
MaterialForm对tab页进行隐藏
查看>>
Member var and Static var.
查看>>
memcached高速缓存学习笔记001---memcached介绍和安装以及基本使用
查看>>
memcached高速缓存学习笔记003---利用JAVA程序操作memcached crud操作
查看>>
Memcached:Node.js 高性能缓存解决方案
查看>>
memcache、redis原理对比
查看>>
memset初始化高维数组为-1/0
查看>>
Metasploit CGI网关接口渗透测试实战
查看>>
Metasploit Web服务器渗透测试实战
查看>>
MFC模态对话框和非模态对话框
查看>>
Moment.js常见用法总结
查看>>
MongoDB出现Error parsing command line: unrecognised option ‘--fork‘ 的解决方法
查看>>
mxGraph改变图形大小重置overlay位置
查看>>
MongoDB可视化客户端管理工具之NoSQLbooster4mongo
查看>>
Mongodb学习总结(1)——常用NoSql数据库比较
查看>>
MongoDB学习笔记(8)--索引及优化索引
查看>>