#洛谷 1865 数论 线性素数筛法

最基本的线性素数筛法,当做复习欧拉筛法了,没有尝试过使用更暴力的筛法。。。

WA了一次,手抖没打\n

传送门 (https://www.luogu.org/problem/show?pid=1865)

#include <cstdio>
#include <cstring>
#include <algorithm> const int maxn = 1000000 + 500; int prime[maxn];
int isp[maxn];
int n, m;
int sum[maxn];
int l, r;
int tot = 0;
int main () {
scanf("%d %d", &n, &m);
for (int i = 2; i <= m; i++) isp[i] = 1;
for (int i = 2; i <= m; i++) {
if (isp[i]) {
tot++;
prime[tot] = i;
}
long long k;
for (int j = 1; j <= tot && (k = 1ll * i * prime[j]) <= m; j++) {
isp[k] = 0;
if (!(i % prime[j])) break;
}
}
for (int i = 2; i <= m; i++) sum[i] = sum[i-1] + (isp[i]);
for (int i = 1; i <= n; i++) {
scanf("%d %d", &l, &r);
if (l < 1 || r > m) {
printf("Crossing the line\n");
continue;
}
printf("%d\n", sum[r] - sum[l-1]);
}
return 0;
}

luogu 1865 数论 线性素数筛法的更多相关文章

  1. ZCMU Problem G: 素数对(数论,素数筛法)

    #include<iostream> #include<cstdlib> #include<cstring> #include<cstdio> #inc ...

  2. HDU 2710 Max Factor(数论,素数筛法)

    #include<iostream> #include<stdio.h> #include<string.h> #include<cmath> usin ...

  3. 素数筛法—时间复杂度O(n)

    请你想出一个算法求出n以内(含n)的所有素数,要求算法的时间复杂度越小越好. 这里介绍一种算法——快速线性素数筛法(欧拉筛法),时间复杂度O(n). 诀窍在于:筛除合数时,保证每个合数只会被它的最小质 ...

  4. [luogu]P1463 [SDOI2005]反素数ant[dfs][数学][数论]

    [luogu]P1463 [SDOI2005]反素数ant ——!x^n+y^n=z^n 题目描述 对于任何正整数x,其约数的个数记作g(x).例如g(1)=1.g(6)=4. 如果某个正整数x满足: ...

  5. Goldbach`s Conjecture(LightOJ - 1259)【简单数论】【筛法】

    Goldbach`s Conjecture(LightOJ - 1259)[简单数论][筛法] 标签: 入门讲座题解 数论 题目描述 Goldbach's conjecture is one of t ...

  6. [原]素数筛法【Sieve Of Eratosthenes + Sieve Of Euler】

    拖了有段时间,今天来总结下两个常用的素数筛法: 1.sieve of Eratosthenes[埃氏筛法] 这是最简单朴素的素数筛法了,根据wikipedia,时间复杂度为 ,空间复杂度为O(n). ...

  7. NYOJ-487月老的烦恼(1)类似于素数筛法一样的打表及一种筛法核心代码。。

    月老的烦恼(1) 时间限制:1000 ms  |  内存限制:65535 KB 难度:3 描述 月老最近遇到了一个很棘手的问题,就是"剩男""剩女"急速增长,而 ...

  8. NowCoder猜想(素数筛法+位压缩)

    在期末被各科的大作业碾压快要窒息之际,百忙之中抽空上牛客网逛了逛,无意中发现一道好题,NowCoder猜想,题意很明显,就是个简单的素数筛法,但竟然超内存了,我晕(+﹏+)~  明明有 3 万多 k ...

  9. 数学#素数筛法 HDU 4548&POJ 2689

    找素数本来是很简单的问题,但当数据变大时,用朴素思想来找素数想必是会超时的,所以用素数筛法. 素数筛法 打表伪代码(用prime数组保存区间内的所有素数): void isPrime() vis[]数 ...

随机推荐

  1. servlet3.0理解

    1.servlet是用Java编写的服务器端程序,服务器端程序,服务器端程序. 2.Servlet运行于支持Java的应用服务器中.spring mvc有自己的实现servlet 从原理上讲,Serv ...

  2. .NET平台开源JSON库LitJSON的使用方法

    下载地址:LitJson.dll下载 一个简单示例: String str = "{'name':'cyf','id':10,'items':[{'itemid':1001,'itemnam ...

  3. Shell编程入门(第二版)(上)

    简单的示例Shell程序 示例1. #!/bin/bash #This is to show what a shell script looks like echo "Our first e ...

  4. HDU 3756

    很容易就想到把三维转化成了二维,求出点离Z轴的距离,把这个距离当成X坐标,Z轴当Y坐标,然后就变成了求一个直角三角形覆盖这些点 像上一题一样,确定斜率直线的时候,必定是有一点在线上的.于是,可以把直线 ...

  5. bash脚本编程知识储备

    bash脚本编程:     脚本程序:解释器解释执行: 首先得理清一些琐碎的知识点,我尽量把我所学的帮朋友一起梳理一下 编程环境:(我会在接下来的篇章,图文例子三结合的方式带大家一起学习)       ...

  6. SQL 递归使用

    直接贴代码吧= = WITH CTE AS ( -->Begin 一个定位点成员 SELECT COUNTRYORDERID,HSNAME, COUNTRYNAME,PARENTORDERID, ...

  7. webform 下使用autofac

    官网介绍: http://docs.autofac.org/en/latest/integration/webforms.html#quick-start HTTP 错误 500.22 - Inter ...

  8. inotify-tools+rsync实时同步文件安装和配置

    服务器A:论坛的主服务器,运行DZ X2论坛程序;服务器B:论坛从服务器,需要把X2的图片附件和MySQL数据实时从A主服务器实时同步到B服务器.MySQL同步设置会在下一编中说到.以下是用于实时同步 ...

  9. SignalR——聊天室的实现

    秒懂——SignalR ASP.NET SignalR 是为 ASP.NET 开发人员提供的一个库,可以简化开发人员将实时 Web 功能添加到应用程序的过程.实时 Web 功能是指这样一种功能:当所连 ...

  10. vue入门--初始化

    VUE初始化时,可以用vue init webpack-simple或者vue init webpack.前者是简易版的工程,后者是标准的初始化.工程创建成功后,打开发现两个的目录结构有很大不同.si ...