Codeforces Round #226 (Div. 2) C 数论_html/css_WEB-ITnose

php中文网
发布: 2016-06-24 11:53:56
原创
1209人浏览过

题目:

CF机子真心强大啊,这样才跑了600ms,给了你n个数的序列,然后m次询问,每次询问求出序列中每个数是 区间[a,b]内的 几个素数的倍数统计一下,然后对于个数求和,看了题目下面的hint很易懂,然后看到a,b的范围有些大哈,2*10^9,不知道怎么处理,但是后来发现,序列中的数 最大为10^7,所以就算a,b,再大也无所谓的,大于序列中的最大数的部分的素数,序列中不会有任何数 是它倍数的,然后就是对10^7以内的 素数进行预处理,同时把序列中的数统计一下个数,在预处理素数的同时 会有一个筛选祛除 该素数倍数的过程,就在这里判断一下该素数的倍数是否在序列中,若在就加上该数的个数,最后求一下前缀和,然后 答案就是 sum[b] - sum[a - 1]了,

在筛选素数的时候 第二个for循环一般都是 从2*i,开始的,但是 不保证序列中没有素数哈,比如说第一个案例,序列中有5,那么5是5的倍数,如果第二层循环从2*i开始就会漏掉一部分,这里习惯性的写法,让我卡了一会,因为 那里调试不太好弄,


立即学习前端免费学习笔记(深入)”;

抖云猫AI论文助手
抖云猫AI论文助手

一款AI论文写作工具,最快 2 分钟,生成 3.5 万字论文。论文可插入表格、代码、公式、图表,依托自研学术抖云猫大模型,生成论文具备严谨的学术专业性。

抖云猫AI论文助手 104
查看详情 抖云猫AI论文助手
int n;int nnum[10000000 + 55];bool isprime[10000000 + 55];int prime[10000000 + 55];int k;void get_prime() {	memset(isprime,false,sizeof(isprime));	for(int i=2;i<10000005 ;i++) {		if(!isprime[i])			for(int j=i /*2 * i*/;j<10000005;j+=i) {				isprime[j]=true;				if(nnum[j])prime[i] += nnum[j];			}	}	//for(int i=2;i<1000005;i++)	//	if(!isprime[i])	//		prime[k++]=i;	for(int i=1;i<10000005;i++)		prime[i] += prime[i - 1];}void init() {	memset(prime,0,sizeof(prime));	memset(nnum,0,sizeof(nnum));}bool input() {	while(cin>>n) {		for(int i=0;i<n;i++) {			int x;			scanf("%d",&x);			nnum[x]++;		}		return false;	}	return true;}void cal() {	get_prime();	int m;	scanf("%d",&m);	while(m--) {		int a,b;		scanf("%d %d",&a,&b);		a = a>10000000?10000000:a;		b = b>10000000?10000000:b;		printf("%d\n",prime[b] - prime[a - 1]);	}}void output() {}int main() {	while(true) {		init();		if(input())return 0;		cal();		output();	}	return 0;}
登录后复制


立即学习前端免费学习笔记(深入)”;



HTML速学教程(入门课程)
HTML速学教程(入门课程)

HTML怎么学习?HTML怎么入门?HTML在哪学?HTML怎么学才快?不用担心,这里为大家提供了HTML速学教程(入门课程),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号