题目链接

题意很简单

$$ans=\sum_{i=1}^{n}gcd(i,n)$$

然后推一下式子,求一下欧拉函数就好了

细节是由于$BZOJ$的评测计时策略,

不能线性筛啊$……$

必须每个数单独筛

一开始线性筛洛谷上过了,$BZ$果断$T$

/**************************************************************Problem: 2705User: zhangheranLanguage: C++Result: AcceptedTime:28 msMemory:89184 kb
****************************************************************/#pragma GCC optimize (2)
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
int cnt;
int prime[10000010];
int phi[10000010];
bool ins[10000010];
void Euler()
{phi[1]=1;for(int i=2;i<=10000000;i++){if(!ins[i]) prime[++cnt]=i,phi[i]=i-1;for(int j=1;j<=cnt&&i*prime[j]<=10000000;j++){ins[i*prime[j]]=true;if(i%prime[j]==0){phi[i*prime[j]]=phi[i]*prime[j];break;}else phi[i*prime[j]]=phi[i]*(prime[j]-1);}}return ;
}
long long getphi(long long n)
{
//  if(n<10000000) return phi[n];long long res=n;for(long long i=2;i*i<=n;i++){if(n%i==0) res=res/i*(i-1);while(n%i==0) n/=i;}if(n>1) res=res/n*(n-1);return res;
}
long long x;
long long ans;
int main()
{
//  freopen("1.in","r",stdin);
//  freopen("1.out","w",stdout);scanf("%lld",&x);
//  Euler();long long i=1;for(;i*i<x;i++) if(x%i==0) ans+=i*getphi(x/i)+(x/i)*getphi(i);if(i*i==x) ans+=i*getphi(i);printf("%lld",ans);
}
//9812

转载于:https://www.cnblogs.com/cn-suqingnian/p/9374883.html

bzoj2705Longge的问题相关推荐

  1. BZOJ-2705-Longge的游戏-SDOI2012-欧拉函数

    描述 求Σgcd(i, n), 0<N≤2^32 分析 直接求是不行的, 可以分析满足gcd(i, n) = j 的 i 有多少个, 再用 j 乘上这个个数. 如果gcd(i, n) = j, ...

最新文章

  1. 两个整数相加减是否溢出
  2. balanced binary search tree
  3. 编写优秀缺陷报告(Bug report)的艺术
  4. MySQL日期及时间加减函数
  5. Java RMI 多个JVM间相互通信
  6. 一个传值的问题”*”与”*”
  7. 30 校准_校准or质控,傻傻分不清楚
  8. 搞笑日常:有位程序员的老爸是个什么感觉?过程你绝对意想不到!
  9. 【Linux开发】OpenCV在ARM-linux上的移植过程遇到的问题1---cvNamedWindow调用报错的问题...
  10. linux篡改url命令,在Linux中更改Git远程URL(Git Remote URL)的方法
  11. ios无痕埋点_掌握数据生命周期:初识数据埋点
  12. tensorflow之预测手写字的概率
  13. 本人见过的最有用的日志!不来转藏肯定后悔
  14. SL会员商城系统后台管理模板
  15. 香港站群多段服务器VPS大带宽服务器日本站群多段服务器
  16. 【webrtc0419 点对点视频聊天功能】
  17. 简单实现通讯录中文名字按拼音首字母排序
  18. 数据结构C语言顺序表入门简单题目你会了吗?
  19. 电脑蓝屏0x0000007B
  20. 2005年中国BBS社区100强

热门文章

  1. EF框架step by step(4)—DBcontext应用于已存在数据库
  2. 后台数据库优化——板机
  3. 合理使用EntityFramework数据验证的异常错误提示信息
  4. 澳门大学物联网设计方法研究获“973”立项
  5. 联邦知识蒸馏概述与思考(续)
  6. ECCV 2020 | 微软亚洲研究院精选论文摘录
  7. 国家自科基金人工智能项目比较:西电第一 清华第二 电子科大第三
  8. 本周新出开源计算机视觉代码汇总(含图像超分辨、视频目标分割、行人重识别、点云识别等)...
  9. 语义分割江湖的那些事儿——从旷视说起
  10. 为什么要学习Python?怎么学?