385C - Bear and Prime Numbers

思路:记录数组中1-1e7中每个数出现的次数,然后用素数筛看哪些能被素数整除,并加到记录该素数的数组中,然后1-1e7求一遍前缀和。

代码:

#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define pb push_back
#define mem(a,b) memset((a),(b),sizeof(a))
const int INF=0x3f3f3f3f;
const int N=1e6+;
const int M=1e7+;
int vis[M]={};
bool not_prime[M]={false};
int dp[M]={};
void prime()
{
for(int i=;i<M;i++)
{
if(!not_prime[i])
{
dp[i]+=vis[i];
for(int j=i+i;j<M;j+=i)
not_prime[j]=true,dp[i]+=vis[j];
}
}
}
int main()
{
ios::sync_with_stdio(false);
cin.tie();
int n,x;
cin>>n;
for(int i=;i<n;i++)
{
cin>>x;
vis[x]++;
} prime();
for(int i=;i<M;i++)dp[i]+=dp[i-];
int m,l,r;
cin>>m;
while(m--)
{
cin>>l>>r;
if(l>M)l=M-;
if(r>M)r=M-;
cout<<dp[r]-dp[l-]<<endl;
}
return ;
}

最新文章

  1. javaccript学习2
  2. GNOME on Arch Linux
  3. vbox下安装arch
  4. C#: .net序列化及反序列化 [XmlElement(“节点名称”)]
  5. oracle必须启动的服务
  6. 总结iframe高度自适应,自适应子页面高度
  7. pnd_start_2
  8. indexOf 和 lastIndexOf 使用
  9. Java Web的数据库操作(一)
  10. 如何查看linux版本
  11. 【Netty】ChannelHandler和codec
  12. css基础语法一(选择器与css导入方式)
  13. 转载:C++中堆和栈的区别
  14. java使用顺序存储实现队列
  15. CentOS 6.5 x64相关安全,优化配置
  16. DataTable插件报错:Uncaught TypeError: Cannot read property &#39;style&#39; of undefined
  17. zookeeper 集群配置采坑 Connection refused WARN [QuorumPeer[myid=1]/0:0:0:0:0:0:0:0:2181:QuorumCnxManager@584] - Cannot open channel to 3 at election address slave2/192.168.127.133:3888
  18. “拒绝了对对象数据库的 EXECUTE 权限”之解决
  19. watir-webdriver 中根据html5中的data-*属性设置元素
  20. JavaScript - Scope of variables

热门文章

  1. reduce()方法
  2. Jason使用
  3. js数组之迭代器方法
  4. potplayer启动慢的各种奇葩原因
  5. Integer类之equals与hashCode
  6. IO—代码—基础及其用例
  7. 【转】eclipse反编译插件
  8. linux常用命令:scp 命令
  9. python 文件操作,os.path.walk()的回调函数打印文件名
  10. 干货:Java并发编程系列之volatile(二)