题目:https://www.acwing.com/problem/content/222/

题意:求1-n范围内,gcd(x,y)是素数的对数

思路:首先我们可以针对每个素数p,那么他的贡献应该时   [1,n/p] 互质的对数,这个其实就是遍历这个范围累加每个数的欧拉值,这里我们就可以用个前缀和,然后计算即可

#include<bits/stdc++.h>
#define maxn 10000005
#define len 100005
#define mod 1000000007
using namespace std;
typedef long long ll;
ll mark[maxn];
ll phi[maxn];
ll pri[maxn];
ll sum[maxn];
int tot;
ll n;
void getphi()//欧拉表
{
phi[]=;
for(int i=;i<=n;i++)
{
if(!mark[i]){phi[i]=i-;pri[++tot]=i;}
for(int j=;j<=tot;j++)
{
int x=pri[j];
if(i*x>n)break;
mark[i*x]=;
if(i%x==){phi[i*x]=phi[i]*x;break;}
else phi[i*x]=phi[i]*phi[x];
}
}
}
int main(){
scanf("%lld",&n);
getphi();
sum[]=phi[];
for(int i=;i<=n;i++) sum[i]=sum[i-]+phi[i];
ll num=;
for(int i=;i<=tot;i++){
num+=*sum[n/pri[i]]-;
}
printf("%lld",num);
}

最新文章

  1. GreenDao2.2升级GreenDao3.0的适配之路
  2. 一个input标签搞定含内外描边及阴影的按钮~
  3. slf4j,log4j,logback 初步使用
  4. Http 请求
  5. vitamio框架
  6. Asp.Net 之 汉字转拼音
  7. MinGW 仿 linux 开发环境
  8. PHPExcel生成或读取excel文件
  9. jsz中的作用域与上下文
  10. console.log()在IE下不兼容问题解决
  11. 删除pending.xml
  12. Linux 搭建git 自己拉取本地 git pull,其他地方的git仓库拉取代码
  13. OSI的七层模型介绍
  14. 前端 - Ajax (1)
  15. input 滑块功能range javascript方法使用
  16. Kali linux apt-get update 失败,无release……(最有效)
  17. 配置https域名
  18. nodejs+express+mysql+handsontable
  19. uc 下载页面 记录备份
  20. For-each Loop,Index++ Loop , Iterator 那个效率更高

热门文章

  1. HDU 6053 TrickGCD —— 2017 Multi-University Training 2
  2. SaltStack(自动化运维工具)
  3. Spring Boot学习一之Spring Beans和依赖注入
  4. JavaScript-Tool-截取头像:ShearPhoto
  5. Iterator,foreach遍历小计
  6. 大数据学习笔记之Hadoop(二):HDFS文件系统
  7. JNDI 笔记
  8. luoguP1080 国王游戏 题解(NOIP2012)(贪心+高精)
  9. ant打包遇到的问题
  10. js高级编程思想