P2568 GCD,线性筛-欧拉函数 模板)

技术P2568 GCD,线性筛-欧拉函数 模板) P2568 GCD(线性筛-欧拉函数 模板)有两个易错点:
1.欧拉函数的定义是1到n内互质的数,但是“互质”不一定要都是质数,其实就只需要gcd(a,

P2568 GCD(线性筛-欧拉函数模板)

有两个容易出错的地方:

1.欧拉函数定义为从1到n的质数,但“质数”不一定是质数。事实上,只有当gcd(a,b)=1时才能计算。因此,我们不能放弃A=1,B=1的情况。

2.第一次做的时候觉得应该避免i=j的情况,但问题是简化公式本身已经考虑到了i=j的情况,并以此作为进一步计算的基础。

其他想法:做练习。即使不是,我也不得不承认。不要去想你的‘AC’,哪怕很牛逼,体验1。(这可以让你在打铁的时候‘开心’)

#includecstdio

#包括牡蛎

# includecstring

#定义ll长

使用命名空间标准;

const int MAXN=2e7

int primes[MAXN],CNT=0;

bool is prime[MAXN];

ll phi[MAXN],SumPhi[MAXN];

void init(int n){ 0

memset(isPrime,1,sizeof(isPrime));

[1]=1;

isPrime[1]=0,phi[2]=1;

for(int I=2;I=n;I){ 0

if(isPrime[i])素数[ cnt]=i,phi[I]=I-1;

for(int j=1;j=cntprimes[j]* I=n;j ){

is prime[I * primes[j]]=0;

If(i%primes[j]==0){//可整除。

[I *素数[j]]=素数[j]*[I];

打破;

} else phi[I *素数[j]]=phi[I]* phi[素数[j]];

}

}

for(int I=1;I=n;(一)

sumPhI[I]=sumPhI[I-1]PhI[I];

返回;

}

int main(){ 0

int n;

scanf('%d ',n);

init(n);

ll ans=0;

for(ll I=1;i=cntI){ 0

int p=素数[I];//枚举质数

ans=(2 * sumPhi[n/p-1]);//错误公式

ans=2 * sumPhi[n/p]-1;//正确的公式

}

printf('%lld\n ',ans);

返回0;

}

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/139161.html

(0)

相关推荐

  • 如何理解docker

    技术如何理解docker这篇文章给大家介绍如何理解docker,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。 随着用户的需求越来越多样,系统的规模越来越庞大,运行的软件越来越复杂,环境配置问题

    攻略 2021年10月20日
  • spark如何分析数据(spark的重要组件以及使用场景)

    技术Spark中的核心概念可视化是怎样的本篇文章为大家展示了Spark中的核心概念可视化是怎样的,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。对于在分布式系统上背景知识较少的人来

    攻略 2021年12月17日
  • 缓存视频怎样转入本地视频,uc下载的视屏怎么转到本地

    技术缓存视频怎样转入本地视频,uc下载的视屏怎么转到本地打开UC浏览器点击下面状态栏中间的菜单按钮,选择【我的视频】;然后点击【已缓存的视频】;长按视频弹出的菜单中就可以看到【打开目录】;再然后长按需要移动的视频,选择【

    生活 2021年10月25日
  • 现代云架构中的AWS服务器群和数据库是怎么样的

    技术现代云架构中的AWS服务器群和数据库是怎么样的这篇文章给大家介绍现代云架构中的AWS服务器群和数据库是怎么样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。当今云计算技术成了主流的架构和互联网基

    攻略 2021年12月2日
  • Macosx下使用docker/mysql会出现什么问题

    技术Macosx下使用docker/mysql会出现什么问题这篇文章主要为大家展示了“Macosx下使用docker/mysql会出现什么问题”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研

    攻略 2021年11月25日
  • 如何使用pt工具校验修复主从

    技术如何使用pt工具校验修复主从这篇文章主要为大家展示了“如何使用pt工具校验修复主从”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用pt工具校验修复主从”这篇文章吧。

    攻略 2021年11月2日