XMU 1246

http://acm.xmu.edu.cn/JudgeOnline/problem.php?id=1246

求区间内素数个数,经典问题,区间长度10^6,数的取值最多能到10^12(此题范围稍小)

用筛法搞出[2,根号b]范围内的素数,用这些素数再去筛[a,b]

一个吐血的trick,1不是素数

#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std ;
typedef long long ll ;
bool prime[1500000] ;
bool prime1[1500000] ;
int main()
{
int t ;
scanf("%d",&t) ;
while(t--)
{
ll a,b ;
scanf("%lld%lld",&a,&b) ;
for(ll i=0 ;i*i<=b ;i++)prime[i]=true ;
for(ll i=0 ;i<=b-a ;i++)prime1[i]=true ;
for(ll i=2 ;i*i<=b ;i++)
{
if(prime[i])
{
for(ll j=2*i ;j*j<=b ;j+=i)prime[j]=false ;
for(ll j=max(2LL,(a+i-1)/i)*i ;j<=b ;j+=i)prime1[j-a]=false ;
}
}
int ans=0 ;
for(ll i=0 ;i<=b-a ;i++)
if(prime1[i])ans++ ;
if(a==1)ans-- ;
printf("%d\n",ans) ;
}
return 0 ;
}

时间: 2024-11-11 11:49:35

XMU 1246的相关文章

【数学】XMU 1593 找数字

题目链接: http://acm.xmu.edu.cn/JudgeOnline/problem.php?id=1593 题目大意: T组数据,n个数,只有一种出现q次,其余的出现p次.(1<=T<=100,1<=n<=107,1<p,q<200,gcd(p,q)=1) 题目思路: [数学] 我也不知道这题算不算数学类问题,总之我是不会做的.看了题解还是有些懵逼. 还是orz一下学长吧 我们想象一个简化版的:有n个数字,其中有1个数会出现1次,其余数都会出现两次,求出现1

XMU 1615 刘备闯三国之三顾茅庐(三) 【欧拉函数+快速幂+欧拉定理】

1615: 刘备闯三国之三顾茅庐(三) Time Limit: 1000 MS  Memory Limit: 128 MBSubmit: 45  Solved: 8[Submit][Status][Web Board] Description 刘备(161年-223年6月10日),字玄德,东汉末年幽州涿郡涿县,西汉中山靖王刘胜的后代.刘备一生极具传奇色彩,早年颠沛流离.备尝艰辛最终却凭借自己的谋略终成一方霸主.那么在那个风云激荡的年代,刘备又是如何从一个卖草鞋的小人物一步一步成为蜀汉的开国皇帝呢

XMU 1617 刘备闯三国之汉中之战 【BFS+染色】

1617: 刘备闯三国之汉中之战 Time Limit: 1000 MS  Memory Limit: 128 MBSubmit: 6  Solved: 5[Submit][Status][Web Board] Description 刘备(161年-223年6月10日),字玄德,东汉末年幽州涿郡涿县,西汉中山靖王刘胜的后代.刘备一生极具传奇色彩,早年颠沛流离.备尝艰辛最终却凭借自己的谋略终成一方霸主.那么在那个风云激荡的年代,刘备又是如何从一个卖草鞋的小人物一步一步成为蜀汉的开国皇帝呢?让我们

XMU 1050 Diffuse Secret 【最短路】

1050: Diffuse Secret Time Limit: 500 MS  Memory Limit: 64 MBSubmit: 10  Solved: 8[Submit][Status][Web Board] Description A secret is good in one, better in two, ill in three and worse in four.  ----Hi, I know a secret, come on I will tell you. But yo

AC日记——丑数 codevs 1246

1246 丑数 USACO 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题解 查看运行结果 题目描述 Description 对于一给定的素数集合 S = {p1, p2, ..., pK}, 来考虑那些质因数全部属于S 的数的集合.这个集合包括,p1, p1p2, p1p1, 和 p1p2p3 (还有其它).这是个对于一个输入的S的丑数集合.注意:我们不认为1 是一个丑数.你的工作是对于输入的集合S去寻找集合中的第N个丑数.longint(signe

【模拟】XMU 1599 斐波那契汤

题目链接: http://acm.xmu.edu.cn/JudgeOnline/problem.php?id=1599 题目大意: 给k,m,q以及f[1]...f[k],当n<m时,f[n]=f[1]/2+f[2]/2...f[n-1]/2, n>=m时 F(n)=F(n-1) XOR F(n-2) XOR……XOR F(n-m); n>m. 求F(L) xor F(L+1) xor …… xor F(R). (1 =< k <=m <=1e5,且m-k<64:

XMU 1040 Schedule 【拓扑排序】

1040: Schedule Time Limit: 500 MS  Memory Limit: 64 MBSubmit: 12  Solved: 2[Submit][Status][Web Board] Description Resently, loneknight is doing research on job shop schedule problem(JSP for short). Let us take a look at JSP, there are n jobs and m m

【动态规划】XMU 1583 Sequence

题目链接: http://acm.xmu.edu.cn/JudgeOnline/problem.php?id=1583 题目大意: T组数据,对于n(n<=6000)给定序列Xn(Xn<=20000),求一个非递减序列Y1, Y2, ..., Yn,使得绝对值差的和|X1-Y1|+|X2-Y2|+...|Xn-Yn|最小,并输出字典序最小的序列Y. 题目思路: [动态规划] 首先序列Y的数字肯定和X中的某一个数字相等,不然可以通过平移得到相等或更优的解.证明不大会证. 用num[i]表示第i小

【贪心+堆】XMU 1584 小明的烦恼

题目链接: http://acm.xmu.edu.cn/JudgeOnline/problem.php?id=1584 题目大意: 给n(n<=100 000)个任务的耗时和截至时间,问最少不能完成几个任务. 题目思路: [贪心+堆] 一开始想贪心但是没想到要加个堆,又跪了. 首先按照结束时间排序,结束时间早的肯定优先考虑. 如果当前的任务无法完成,就将当前任务和之前已经做了的任务中耗时最长的取消掉,改做当前任务 (如果当前任务就是耗时最长的则不用加当前任务,因为取消一个换另一个结果不会更差,只