欧拉筛
ln2037
用心雕琢我的艺术品。
展开
-
P3601 签到题【欧拉筛 + 欧拉函数】
题目背景这是一道签到题!建议做题之前仔细阅读数据范围!题目描述我们定义一个函数:qiandao(x)为小于等于x的数中与x不互质的数的个数。这题作为签到题,给出l和r,要求求∑i=lrqiandao(i) mod 666623333\sum_{i=l}^r qiandao(i)mod666623333∑i=lrqiandao(i) mod 666623333。输入格式一行两个整数,l、r。输出格式一行一个整数表示答案。输入输出样例输入 #1233 2333输出 #1105649原创 2020-10-01 18:56:58 · 339 阅读 · 1 评论 -
P1069 细胞分裂 【数论 + 欧拉筛】
题目描述HanksHanksHanks 博士是 BTBTBT (Bio−TechBio-TechBio−Tech,生物技术) 领域的知名专家。现在,他正在为一个细胞实验做准备工作:培养细胞样本。HanksHanksHanks 博士手里现在有 NN N种细胞,编号从 1−N1-N1−N,一个第 ii i种细胞经过 111 秒钟可以分裂为SiS_iSi个同种细胞(SiS_iSi为正整数)。现在他需要选取某种细胞的一个放进培养皿,让其自由分裂,进行培养。一段时间以后,再把培养皿中的所有细胞平均分入M M原创 2020-09-30 21:01:08 · 266 阅读 · 0 评论 -
P1835 素数密度 【欧拉筛 + 埃氏筛法】
题目描述给定区间[L,R] (L≤R≤2147483647,R-L≤1000000),请计算区间中素数的个数。输入格式两个数L和R。输出格式一行,区间中素数的个数。输入输出样例输入 #12 11输出 #15此题有一个坑。若一个数是INT_MAX,看起来用int是可以的。但若是把这个数+1了呢?#include <iostream>#include <algorithm>#include <cstring>using namespace st原创 2020-09-29 19:50:30 · 255 阅读 · 0 评论 -
素数线性筛(欧拉筛)
一个数可以分解为一个素数乘以另一个数。每个数被其最小的素因子筛去,就是素数线性筛。时间复杂度是O(n)。#include <iostream>#include <algorithm>#include <cstring>using namespace std;const int maxn = 1e5 + 10;int flag[maxn];int prim[maxn];int tot;void getPrim() { for(int i = 2;原创 2020-09-29 19:47:38 · 128 阅读 · 0 评论