P2568 GCD
1.D. Birthday Gift2.P2613 【模板】有理数取余3.P2657 [SCOI2009] windy 数4.P8754 [蓝桥杯 2021 省 AB2] 完全平方数5.C. Nikita and LCM6.G. D-Function7.A. Bitwise Operation Wizard8.M. 渚千夏的串9.E. Look Back10.数论里的欧拉定理,简单证明,非常简单11.D. Same GCDs12.B. Missing Subsequence Sum
13.P2568 GCD
14.D. Small GCD15.C. Jellyfish and Green Apple16.C. Even Subarrays17.F - x = a^b18.D - Square Pair题解
令
所以原题等价于求
也就是对于每个素数
code
#include<bits/stdc++.h>
#define ll long long
using namespace std;
vector<ll> prime;
bool mark[10000005]={0};
ll phi[10000005]={0};
ll sumgcd1[10000005]={0};
void solve()
{
ll n;
cin>>n;
ll ans=0;
for(auto it:prime)
{
if(it>n) break;
ans+=sumgcd1[n/it];
}
cout<<ans<<'\n';
}
int main()
{
sumgcd1[1]=1;
for(ll i=2;i<=1e7;i++)
{
if(!mark[i])
{
prime.push_back(i);
phi[i]=i-1;
}
for(auto it:prime)
{
if(it*i>1e7) break;
mark[it*i]=1;
if(i%it==0)
{
phi[it*i]=it*phi[i];
break;
}
else
{
phi[it*i]=phi[it]*phi[i];
}
}
sumgcd1[i]=sumgcd1[i-1]+2LL*phi[i];
}
ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
int t=1;
//cin>>t;
while(t--) solve();
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~