OI蒟蒻,TLE求助,复杂度O(Σ(1,n){n/i})
  • 板块P2568 GCD
  • 楼主黑影洞人
  • 当前回复9
  • 已保存回复9
  • 发布时间2022/2/19 19:36
  • 上次更新2023/10/28 08:08:35
查看原帖
OI蒟蒻,TLE求助,复杂度O(Σ(1,n){n/i})
285617
黑影洞人楼主2022/2/19 19:36
#include<cstdio>
#include<algorithm>
#define N 1000007
#define int long long
using namespace std;
int f[N],p[N],n,m,ans;
bool vis[N]={1}; 
signed main(){
	scanf("%lld",&n);
	for(int k=n;k;k--){
		int gk=(n/k)*(n/k);f[k]=gk;
		for(int j=2;j<=(n/k);j++)f[k]-=f[j*k];
	}
	for(int i=2;i<=n;i++){
		if(!vis[i])ans+=f[p[++m]=i];
		for(int j=1;j<=m&&i*p[j]<=n;j++){
			vis[i*p[j]]=1;
			if(!(i%p[j]))break;
		}
	}
	printf("%lld",ans);
	return 0;
}



2022/2/19 19:36
加载中...