题目链接~~>

做题感悟:这题属于想法题,比赛时直接做的 D 题。可是处理坐标处理的头晕眼花的结果到最后也没AC。

解题思路:

由于查询的时候仅仅考虑素数,so~我们仅仅考虑素数就能够,这就须要筛素数。我们能够在筛素数的同一时候把某个素数出现的倍数加上。输入的时候仅仅要记录某个数的个数就能够了。

代码:

#include<iostream>
#include<sstream>
#include<map>
#include<cmath>
#include<fstream>
#include<queue>
#include<vector>
#include<sstream>
#include<cstring>
#include<cstdio>
#include<stack>
#include<bitset>
#include<ctime>
#include<string>
#include<iomanip>
#include<algorithm>
using namespace std  ;
#define INT long long int
const int INF = 0x3f3f3f ;
const double esp = 0.0000000001 ;
const double PI = acos(-1.0) ;
const int mod = 1000000007 ;
const int MY = 100 + 5 ;
const int MX = 10000000 + 5 ;
int Max ,n ,m ;
bool isprime[MX] ;
int sum[MX] ,num[MX] ;
void init() // 筛法同一时候记录个数
{memset(isprime ,false ,sizeof(isprime)) ;memset(sum ,0 ,sizeof(sum)) ;for(int i = 2 ;i <= Max ; ++i){sum[i] += sum[i-1] ;if(!isprime[i]){sum[i] += num[i] ;for(int j = i + i ;j <= Max ; j += i){sum[i] += num[j] ;isprime[j] = true ;}}}
}
int main()
{int x ;while(~scanf("%d" ,&n)){memset(num ,0 ,sizeof(num)) ;Max = 0 ;for(int i = 0 ;i < n ; ++i){scanf("%d" ,&x) ;num[x]++ ;         // 记录个数Max = max(Max ,x) ;}init() ;scanf("%d" ,&m) ;int le ,rt ;for(int i = 0 ;i < m ; ++i){scanf("%d%d" ,&le ,&rt) ;if(rt > Max)  rt = Max ;if(le > Max)  cout<<"0"<<endl ;else      cout<<sum[rt]-sum[le-1]<<endl ;}}return 0 ;
}

转载于:https://www.cnblogs.com/brucemengbm/p/6742077.html

Codeforces 385 C Bear and Prime Numbers相关推荐

  1. CF385C Bear and Prime Numbers 数学

    题意翻译 给你一串数列a.对于一个质数p,定义函数f(p)=a数列中能被p整除的数的个数.给出m组询问l,r,询问[l,r]区间内所有素数p的f(p)之和. 题目描述 Recently, the be ...

  2. codeforces 385C Bear and Prime Numbers

    题意:给你一个数列,和m个询问,求 数组种 l -r 中所有质数的的倍数的个数和. 解题思路:变形筛法.注意细节 解题代码: 1 // File Name: 385c.cpp 2 // Author: ...

  3. CF385C Bear and Prime Numbers

    思路: 需要对埃氏筛法的时间复杂度有正确的认识(O(nlog(log(n)))),我都以为肯定超时了,结果能过. 实现: 1 #include <bits/stdc++.h> 2 usin ...

  4. Codeforces A - Bear and Prime 100(交互题)

    A - Bear and Prime 100 思路:任何一个合数都可以写成2个以上质数的乘积.在2-100中,除了4,9,25,49外都可以写成两个以上不同质数的乘积. 所以打一个质数加这四个数的表: ...

  5. Sum of Consecutive Prime Numbers POJ - 2739(线性欧拉筛+尺取法)

    题意: 一些正整数可以由一个或多个连续质数的总和表示.给定一个的正整数n,问满足条件的有多少种情况? 题目: Some positive integers can be represented by ...

  6. 7-24 First 50 Prime Numbers (10 分)

    7-24 First 50 Prime Numbers Your program reads one natural numbers n in, and prints out the sum of t ...

  7. codeforces 679A Bear and Prime 100 交互

    第一次交互题,记录一下吧 #include <cstdio> #include <iostream> #include <ctime> #include <v ...

  8. Codeforces Beta Round #51 D. Beautiful numbers 数位dp + 状态优化

    传送门 文章目录 题意: 思路: 题意: 思路: 数位dpdpdp挺经典的一个题辣,有一个很明显的状态就是f[pos][num][lcm]f[pos][num][lcm]f[pos][num][lcm ...

  9. *【CodeForces - 574A】Bear and Elections (优先队列,水题模拟)

    题干: Limak is a grizzly bear who desires power and adoration. He wants to win in upcoming elections a ...

最新文章

  1. Linux c基本知识整理
  2. 新年红包封面来了,3000万份红包封面来啦!到点直领!
  3. KDD 2019 | 使用神经网络为A*搜索算法赋能:以个性化路径推荐为例
  4. html表格固定行高_Excel表格向Word复制不变形,Word表格向Excel复制不变形,一次全掌握。...
  5. 轻量级ORM框架——第二篇:Dapper中的一些复杂操作和inner join应该注意的坑
  6. Linux进程全解6——进程的诞生和消亡
  7. 不吹牛逼,撸个注解有什么难的
  8. 7-37 抓老鼠啊~亏了还是赚了? (20 分)
  9. mysql5.7设置默认的字符集
  10. ubuntu中pycharm无法输入汉字
  11. 解决git push报错error: failed to push some refs to 的问题
  12. GPG软件签名与验证
  13. 1. JDK版本变迁和各版本新特性
  14. java物业收费管理系统源码_基于java+swing+mysql的物业小区收费管理系统
  15. 墨画子卿第三章第5节:飞过去的是胧月
  16. 计算机网络 —— 链路层详解
  17. 为什么计算机连不上无线网络,笔记本无线连不上是什么原因_为什么笔记本电脑连不上wifi-win7之家...
  18. python数据整理--绘图工具matplotlib
  19. [Vulkan教程]概述
  20. 双能CT的基本原理及理解笔记

热门文章

  1. vue中v-show v-if v-bind的使用
  2. [转载]INNO Setup 使用笔记
  3. Oracle ORA-06861: 文字与格式字符串不匹配 记录两次无助的遭遇:存储过程直接执行正常,java调用存储过程则报错
  4. Istio 核心组件介绍
  5. 常用JQuery插件整理 1
  6. 项目启动会ppt_公司召开SAPERP项目启动会
  7. php mysql delete_php教程之PHP MySQL Delete
  8. vs2019建立web工程_自动化工程师的C#之路(1)
  9. spring boot部署实战
  10. python多元回归因子选取_Python中的多元回归(带因子选择)