Time Limit: 15 Sec  Memory Limit: 256 MB
Submit: 539  Solved: 304
[Submit][Status][Discuss]

Description

给出一个数字N,求sigma(phi(i)),1<=i<=N

Input

正整数N。N<=2*10^9

Output

输出答案。

Sample Input

10

Sample Output

32

HINT

Source

By FancyCoder

杜教筛模板题,好久没打了练练手hhh

(一开始把i和j写反了WA了一墙hhhh)

/**************************************************************Problem: 4805User: JYYHHLanguage: C++Result: AcceptedTime:1524 msMemory:64772 kb
****************************************************************/#include<bits/stdc++.h>
#define ll unsigned long long
#define maxn 5000000
using namespace std;
map<ll,ll> mmp;
int zs[maxn+5],t=0;
ll phi[maxn+5],n;
bool v[maxn+5];inline void init(){phi[1]=1;for(int i=2;i<=maxn;i++){if(!v[i]) zs[++t]=i,phi[i]=i-1;for(int j=1,u;j<=t&&(u=zs[j]*i)<=maxn;j++){v[u]=1;if(!(i%zs[j])){phi[u]=phi[i]*zs[j];break;}phi[u]=phi[i]*(zs[j]-1);}}for(int i=1;i<=maxn;i++) phi[i]+=phi[i-1];
}inline ll sum(ll x){if(x<=maxn) return phi[x];if(mmp.count(x)) return mmp[x];ll ans=x*(x+1)>>1ll,j;for(ll i=2;i<=x;i=j+1){j=x/(x/i);ans-=sum(x/i)*(j-i+1);}mmp[x]=ans;return ans;
}int main(){init();scanf("%llu",&n);printf("%llu\n",sum(n));return 0;
}

转载于:https://www.cnblogs.com/JYYHH/p/8287379.html

bzoj 4805: 欧拉函数求和相关推荐

  1. 欧拉函数的相关应用 noj欧拉函数求和+noj 最大公约数求和

    注意求欧拉函数之和是每个因子的欧拉函数之和不是质因子.而欧拉函数的值是它本身与它的因子件事互质的关系,这样的因子有多少个.点击打开链接 #include<stdio.h> #include ...

  2. BZOJ - 2186 欧拉函数

    题目的意思大概是求1~N!中和M!互质的数的个数 因为对欧拉函数理解不够深刻所以我是分析得到结果的: 当N<=M的时候显然符合要求的数的个数为0: 当N>M的时候我们要求的是1~N!中不含 ...

  3. bzoj 2818 欧拉函数

    思路:就是对于某个数q,跟他互质的数p,kp和kq的最大公约数是k,那么这个数能组成的答案的数量就是phi[i]乘以某个质数,且乘积小于n 基于这种思路写下这个代码 #include <cstd ...

  4. BZOJ 4802: 欧拉函数(大数因数分解算法 Pollard_rho 和素数测试算法 Miller_Rabin)

    Description 已知N,求phi(N) Input 正整数N.N<=10^18 Output 输出phi(N) Sample Input 8 Sample Output 4 Soluti ...

  5. BZOJ2818-莫比乌斯反演/欧拉函数

    这道题之前没有看数论函数的时候搞懂了,想到直接用欧拉函数做,现在再来看第一个想法就是这不是莫比乌斯反演嘛. 但还是能用简单数论知识直接做出来的还是尽量做简单一点. 两种方法想到后都写的差不多对了,都爆 ...

  6. AcWing 874. 筛法求欧拉函数(线性筛法求欧拉函数模板)

    给定一个正整数 n,求 1∼n 中每个数的欧拉函数之和. 输入格式 共一行,包含一个整数 n. 输出格式 共一行,包含一个整数,表示 1∼n 中每个数的欧拉函数之和. 数据范围 1≤n≤10^6 输入 ...

  7. bzoj 1409 Password 矩阵快速幂+欧拉函数

    可以发现,该数组的mi就是斐波那契数列 所以要矩阵快速幂搞出第n位 但是斐波那契数列上涨的很快,这就需要欧拉定理了 p^phi(q)%q=1(gcd(p,q)==1) p是素数,所以可以用 然后需要5 ...

  8. bzoj 3884: 上帝与集合的正确用法(欧拉函数)

    3884: 上帝与集合的正确用法 Time Limit: 5 Sec  Memory Limit: 128 MB Submit: 2574  Solved: 1151 [Submit][Status] ...

  9. bzoj 2705: [SDOI2012]Longge的问题(欧拉函数)

    2705: [SDOI2012]Longge的问题 Time Limit: 3 Sec  Memory Limit: 128 MB Submit: 3077  Solved: 1914 [Submit ...

最新文章

  1. python画折线图代码-Python折线图的分析过程和画图的方法
  2. 并查集+二分-hdu-4750-Count The Pairs
  3. mfc messagebox 非模态_進博尋寶記:當進博遇見非遺?愛上中國傳統文化--財經-
  4. NeurIPS 2018 | 腾讯AI Lab:可自适应于不同环境和任务的强化学习方法
  5. SylixOS异常管理
  6. IIS 之 Asp.Net项目内部运行详解
  7. ug区域轮廓铣没有重叠距离_UG数控加工编程 _固定轴、可变轴曲面轮廓铣图文详解...
  8. Linux 启动顺序
  9. CSS Word的文档结构视图设计
  10. video4linux(v4l)使用摄像头的实例基础教程与体会
  11. 思科中国创新中心落户广州 打造年产值超千亿元万物互联“智慧城市”
  12. 【高校宿舍管理系统】终章 完成主页以及项目总结
  13. Java成神之路——String长度限制
  14. 正月十五元宵节中国风海报PSD分层模板找灵感!
  15. python mongodb 设置密码前一篇ok,csv文件存入mongodb
  16. Flex样式工作原理
  17. Fedora系统配置中文输入法
  18. QT学习之QQ聊天案例
  19. 用kodexplorer免费搭建一个协同办公平台
  20. Android Camera 预览及录制视频 附demo

热门文章

  1. 第一模块 jdk与jre、==与equals、Math.round(-1.5)、 String、操作字符串的类、字符串反转、抽象类必须要有抽象方法吗、普通类和抽象类、BIO NIO AIO
  2. Slack 开发入门之 Incoming Webhooks:往 Slack 的 Channel 中发消息
  3. JS实现将数字金额转换为大写人民币汉字
  4. Fastapi学习笔记(一)
  5. 对于青少年编程等级考试的认识
  6. 未来人工智能发展面临的问题
  7. [大家的项目] cargo-offline 命令
  8. [XCode] XCode 6 中修改模拟器版本
  9. 计算机中的PS颜色填充快捷键,ps颜色填充快捷键【设置办法】
  10. 网络游戏服务器架构设计