zoukankan      html  css  js  c++  java
  • A % B Problem

    题目背景

    题目名称是吸引你点进来的

    实际上该题还是很水的

    题目描述

    区间质数个数

    输入输出格式

    输入格式:

    一行两个整数 询问次数n,范围m

    接下来n行,每行两个整数 l,r 表示区间

    输出格式:

    对于每次询问输出个数 t,如l或r∉[1,m]输出 Crossing the line

    输入输出样例

    输入样例#1:
    2 5
    1 3
    2 6
    输出样例#1:
    2
    Crossing the line

    说明

    【数据范围和约定】

    对于20%的数据 1<=n<=10 1<=m<=10

    对于100%的数据 1<=n<=1000 1<=m<=1000000 -10^9<=l<=r<=10^9 1<=t<=1000000

    思路:素数筛+前缀和

    代码实现:

     1 #include<cstdio>
     2 int n,m,a,b;
     3 int s[1000000];
     4 bool v[1000000];
     5 int main(){
     6     scanf("%d%d",&n,&m);
     7     for(int i=2;i<=m;i++){
     8         s[i]=s[i-1];
     9         if(!v[i]){
    10             s[i]++;a=i+i;
    11             while(a<=m){v[a]=1;a+=i;}
    12         }
    13     }
    14     while(n--){
    15         scanf("%d%d",&a,&b);
    16         if(a<1||b<1||a>m||b>m) printf("Crossing the line
    ");
    17         else{printf("%d
    ",s[b]-s[a-1]);}
    18     }
    19     return 0;
    20 }

    题目来源:洛谷

  • 相关阅读:
    Codeforces Round #419 (Div. 2)
    论蒟蒻的自我修养
    12 day 1
    Balanced Teams (USACO Jan Bronze 2014)
    一个奇怪的绘图程序
    BZOJ 1002 [ FJOI 2007 ]
    BZOJ 3540 realtime-update 解题
    准备做的题目
    代码风格与树形DP
    CH round #55 Streaming #6
  • 原文地址:https://www.cnblogs.com/J-william/p/6485821.html
Copyright © 2011-2022 走看看