2011年8月3日

数论问题精选

摘要: pku2689:题目大意:给定区间[l,r],求[l,r]中距离最近的素数对和距离最远的素数对,如果存在tie,那么输出第一对。解法: 如果l和r都比较小的话,我们可以使用筛法,但是这个题目的l和r都非常大,所以直接的筛法会TLE并且MLE。注意到题目要求是r-l<=10^6,并且l<r<2,147,483,647。想一想筛法的过程——对于素数i,它开始筛的位置是i*i,小于i*i的位置是没有必要再去筛的,不是素数的肯定都被筛过了。所以对于l,r,我们只需要利用小于等于sqrt(r)的素数去筛[l,r]这个区间中的数即可。由于r-l<=10^6,可以开个长度为10^6的 阅读全文

posted @ 2011-08-03 14:41 Moon_1st 阅读(541) 评论(0) 推荐(0) 编辑

导航