【题解】UVA10140 Prime Distance

哈哈哈哈\(miller-rabbin\)水过去了哈哈哈

还能怎么办呢?\(miller-rabbin\)直接搞。枚举即可,还跑得飞快。

当然此题由于\(20000^2 >2^{31}\),直接预处理\(20000\)内的质数就好了

放mr的代码

  1. #include<bits/stdc++.h>
  2. using namespace std;typedef long long ll;
  3. #define DRP(t,a,b) for(register int t=(a),edd=(b);t>=edd;--t)
  4. #define RP(t,a,b) for(register int t=(a),edd=(b);t<=edd;++t)
  5. #define ERP(t,a) for(register int t=head[a];t;t=e[t].nx)
  6. #define midd register int mid=(l+r)>>1
  7. #define TMP template < class ccf >
  8. #define lef l,mid,pos<<1
  9. #define rgt mid+1,r,pos<<1|1
  10. #define pushup(pos) (seg[pos]=seg[pos<<1]+seg[pos<<1|1])
  11. TMP inline ccf qr(ccf b){
  12. register char c=getchar();register int q=1;register ccf x=0;
  13. while(c<48||c>57)q=c==45?-1:q,c=getchar();
  14. while(c>=48&&c<=57)x=x*10+c-48,c=getchar();
  15. return q==-1?-x:x;}
  16. TMP inline ccf Max(ccf a,ccf b){return a<b?b:a;}
  17. TMP inline ccf Min(ccf a,ccf b){return a<b?a:b;}
  18. TMP inline ccf Max(ccf a,ccf b,ccf c){return Max(a,Max(b,c));}
  19. TMP inline ccf Min(ccf a,ccf b,ccf c){return Min(a,Min(b,c));}
  20. TMP inline ccf READ(ccf* _arr,int _n){RP(t,1,_n)_arr[t]=qr((ccf)1);}
  21. //----------------------template&IO---------------------------
  22. #define int long long
  23. inline int ksm(ll base,ll p,ll mod){register int ret=1;base%=mod;
  24. for(register ll t=p;t;t>>=1,(base*=base)%=mod) if(t&1) (ret*=base)%=mod;
  25. return ret%mod;
  26. }
  27. inline bool T(int base,int p){
  28. for(register int t=p-1,sav;t;t>>=1){
  29. sav=ksm(base,t,p);
  30. if(sav!=1&&sav!=p-1) return 0;
  31. if((t&1)||sav==p-1) return 1;
  32. }return 1;
  33. }
  34. inline bool mb(int x){
  35. if(x==2||x==3||x==13||x==17) return 1;
  36. if(x==1) return 0;
  37. return T(2,x)&&T(3,x)&&T(13,x)&&T(17,x);
  38. }
  39. int L,R,last,Mx,Mn,ans1,ans2,ans3,ans4;
  40. main(){
  41. while(cin>>L>>R){
  42. Mx=0;
  43. Mn=R-L+2;last=R+1;
  44. RP(t,L,R) if(mb(t)){ last=t; break;}
  45. if(last==R+1) {printf("There are no adjacent primes\n"); continue;}
  46. RP(t,last+1,R){
  47. if(mb(t)){
  48. if(t-last>Mx) Mx=t-last,ans3=last,ans4=t;
  49. if(t-last<Mn) Mn=t-last,ans1=last,ans2=t;
  50. last=t;
  51. }
  52. }
  53. if(Mx==0||Mn==R-L+2) printf("There are no adjacent primes.\n");
  54. else printf("%d,%d are closest, %d,%d are most distant.\n",ans1,ans2,ans3,ans4);
  55. }
  56. return 0;
  57. }

【题解】UVA10140 [Prime Distance]的更多相关文章

  1. UVA10140 Prime Distance

    UVA10140 Prime Distance 给定两个整数L,R(1<=L<=R<=2^{31},R-L<=10^6)L,R(1<=L<=R<=231,R− ...

  2. UVA10140 Prime Distance【素数/数论】By cellur925

    题目传送门 我们注意到,L,R是肥肠大的.........我们不可能在1s内筛出2^31内的全部质数. “上帝为你关上一扇门,同时为你打开一扇窗” 我们又注意到,R-L是肥肠比较小的,珂以从这入手解决 ...

  3. poj 2689 Prime Distance(大区间素数)

    题目链接:poj 2689 Prime Distance 题意: 给你一个很大的区间(区间差不超过100w),让你找出这个区间的相邻最大和最小的两对素数 题解: 正向去找这个区间的素数会超时,我们考虑 ...

  4. CodeChef - PRIMEDST Prime Distance On Tree 树分治 + FFT

    Prime Distance On Tree Problem description. You are given a tree. If we select 2 distinct nodes unif ...

  5. 数论 - 素数的运用 --- poj 2689 : Prime Distance

    Prime Distance Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 12512   Accepted: 3340 D ...

  6. UVA 10140 - Prime Distance(数论)

    10140 - Prime Distance 题目链接 题意:求[l,r]区间内近期和最远的素数对. 思路:素数打表,打到sqrt(Max)就可以,然后利用大的表去筛素数.因为[l, r]最多100W ...

  7. [POJ268] Prime Distance(素数筛)

    /* * 二次筛素数 * POJ268----Prime Distance(数论,素数筛) */ #include<cstdio> #include<vector> using ...

  8. 一本通1619【例 1】Prime Distance

    1619: [例 1]Prime Distance 题目描述 原题来自:Waterloo local,题面详见 POJ 2689 给定两个整数 L,R,求闭区间 [L,R] 中相邻两个质数差值最小的数 ...

  9. POJ2689 Prime Distance(数论:素数筛选模板)

    题目链接:传送门 题目: Prime Distance Time Limit: 1000MS Memory Limit: 65536K Total Submissions: Accepted: Des ...

随机推荐

  1. POJ 3264 Balanced Lineup RMQ ST算法

    题意:有n头牛,编号从1到n,每头牛的身高已知.现有q次询问,每次询问给出a,b两个数.要求给出编号在a与b之间牛身高的最大值与最小值之差. 思路:标准的RMQ问题. RMQ问题是求给定区间内的最值问 ...

  2. python测试网络可达性的方法

    1.ping连通性测试 #!/usr/bin/env python #-*- coding: utf-8 -*- import os,sys,re import subprocess def NetC ...

  3. 【温故知新】——CSS黑魔法小技巧可以少些不必要的js

    前言:这篇文章是转载[前端开发博客]的一篇技术文章,并非本人所写.只是个人觉得很实用,所以分享给大家.原文链接:github.com 1.利用 CSS 的 content 属性 attr 抓取资料需求 ...

  4. codeforces 204(Div.1 A) Little Elephant and Interval(贪心)

    题意: 有一种个位数与最高位数字相等的数字,求在l,r的范围内,这样的数字的个数. 思路: 找下规律就知道当当n>10的时候除去个位以后的答案等于n/10,然后考虑第一个数字是否小于最后一个.小 ...

  5. poj 2479 Maximum sum(递推)

     题意:给定n个数,求两段连续不重叠子段的最大和. 思路非常easy.把原串划为两段.求两段的连续最大子串和之和,这里要先预处理一下,用lmax数组表示1到i的最大连续子串和,用rmax数组表示n ...

  6. vs 已经加入了引用,编译还是提示没有加入引用

    已经加入了引用,可是.编译还是通只是. 原因:项目总体框架是.Net FramWork4.5,nep中的框架也是4.5.而编译只是的project是4.0. 解决的方法:将编译只是的项目框架改为4.5

  7. java:可变参数(转载)

    http://12477787.blog.51cto.com/12467787/1887843 Java在1.5之后允许方法使用可变参数,可变参数的好处在于:它允许传递0个或者多个参数.比如原来有一段 ...

  8. 转:十六进制颜色与RGB颜色对照表

    http://www.vis.cc/html/ppyj/zscs/1090.html 十六进制颜色查询 颜 色 英文代码 形象描述 十六进制 RGB LightPink 浅粉红 #FFB6C1 255 ...

  9. Node.js学习笔记(4)——除了HTTP(服务器和客户端)部分

    很多node入门的书里面都会在介绍node特性的时候说:单线程,异步式I/O,事件驱动. Node不是一门语言,它是运行在服务器端的开发平台,官方指定语言为javascript. 阻塞和线程: 线程在 ...

  10. mysql主从只同步部分库或表

    同步部分数据有两个思路,1.master只发送需要的:2.slave只接收想要的. master端: binlog-do-db      二进制日志记录的数据库(多数据库用逗号,隔开)binlog-i ...