线性筛求欧拉函数
来源:互联网 发布:淘宝优惠券推广 编辑:程序博客网 时间:2024/06/06 08:58
线性复杂度的原因是因为它保证了每个合数只会被筛到一次。
每个合数都可以表示成一个数与另一个质数的乘积。
当 if(i%p[j]==0)
时 break
是因为大于
void init(){ int c=0; phi[1]=1; for(int i=2;i<N;++i) { if(!nop[i]) { p[c++]=i; phi[i]=i-1; } for(int j=0;j<c&&i*p[j]<N;++j) { nop[i*p[j]]=true; if(i%p[j]==0) { phi[i*p[j]]=phi[i]*p[j]; break; } else phi[i*p[j]]=phi[i]*(p[j]-1); } }}
阅读全文
0 0
- 线性筛求欧拉函数
- 【线性筛求欧拉函数】HDU 2824
- bzoj 2818: Gcd 线性筛求欧拉函数
- 高斯线性函数
- 线性表的函数
- bzoj 4499: 线性函数
- 线性筛欧拉函数
- 线性表操作函数
- 多段线性函数
- 线性函数的定义
- 线性筛欧拉函数
- tensorflow训练线性函数
- 筛法求欧拉函数(线性)
- 线性求欧拉函数
- 函数、排序、线性数据结构
- bzoj2818(改为线性筛求欧拉函数的模版)
- 线性筛素数 线性筛欧拉函数
- 线性内插interp1函数用法
- 操作序列
- 动态规划——最大连续子数组和(或乘积)
- iOS 工程自动化
- HDU-2017中国大学生程序设计竞赛-网络选拔赛-1001-Vertex Cover
- 算法题/把数组排成最小的数
- 线性筛求欧拉函数
- 大型网站技术架构(三)--架构核心要素
- Android之Gson时间格式不一致导致后台解析错误问题
- C/C++标准头文件列举
- ArrayList、LinkedList、Vector的区别
- HDU 2089:不要62
- 和为S的连续正数序列
- O(1)时间检测2的幂
- Android 安装错误总结