博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
洛谷 P1217 [USACO1.5]回文质数 Prime Palindrome
阅读量:7305 次
发布时间:2019-06-30

本文共 1501 字,大约阅读时间需要 5 分钟。

嗯...

 

这道题对于蒟蒻的我来说实在是TQL...

 

先看一下题:(题目链接:https://www.luogu.org/problemnew/show/P1217)

 

然后说一下我的做题过程吧:

 

一看到是普及-的题,就没有考虑什么筛法,只是用最暴力的筛素数的方法做的,然后就导致最后一个点TLE;

接着是一个改进,又用了埃氏筛,可是它太不稳定了,然后数组总是开小,然后就各种TLE,MLE,RE...

最后用的是欧拉筛(线性筛),然后还是最后一个点TLE...然后就很纳闷,看了题解之后才发现有这样的一个东西:

 

1.偶数位数回文数(除11)必定不是质数(自行百度),所以只要运行到10000000

 

然后发现将读入后的b进行一次判断就可以了,然后这种方法,暴力筛还是TLE,埃氏筛由于不稳定也TLE,最终还是只有欧拉筛(线性筛)好用....

 

思路:

主要是在a到b的这段区间中先判断是否为回文数(注意判断回文数的方法),并且用欧拉筛判断是否为素数即可...

 

重难点:

  偶数位数回文数(除11)必定不是质数(自行百度),所以只要运行到10000000

 

否则会一直TLE(不开O2)

 

下面是欧拉筛的AC代码:

1 #include
2 #include
3 4 using namespace std; 5 6 int a, b; 7 const int maxn = 10000005; 8 9 int cnt;10 int prime[maxn];11 int vis[maxn];12 bool pp[maxn];13 14 inline void is_prime(){15 for(int i = 2; i <= b; i++){16 if(!vis[i]) prime[++cnt] = i, pp[i] = 1;17 for(int j = 1; j <= cnt && i * prime[j] <= b; j++){18 vis[i * prime[j]] = true;19 if(i % prime[j] == 0) break;20 }21 }22 }//欧拉筛判断质数 23 24 inline int hui_wen(int x){25 int t = 0;26 int y = x;27 while(y != 0){28 t = t * 10 + y % 10;29 y = y / 10;30 }31 if(t == x) return 1;32 return 0;33 }//判断回文数 34 35 int main(){36 scanf("%d%d", &a, &b);37 if(b > 10000000) b = 10000000;//重点 38 is_prime();39 for(int i = a; i <= b; i++){40 int n = i;41 if(hui_wen(n) && pp[n] ) printf("%d\n", n);42 }43 return 0;44 }

 

转载于:https://www.cnblogs.com/New-ljx/p/10686537.html

你可能感兴趣的文章
死循环
查看>>
px值转rem值的Sublime Text 3自己主动完毕插件
查看>>
【linux驱动分析】之dm9000驱动分析(三):sk_buff结构分析
查看>>
分数加减法
查看>>
jquery.cookie.js写入的值没有定义
查看>>
Python核心编程学习笔记(一)
查看>>
jQuery操作iframe中js函数的方法小结
查看>>
[BLE--Link Layer]设备蓝牙地址
查看>>
Redis 错误1067:进程意外终止,Redis不能启动,Redis启动不了
查看>>
Java数据库连接——JDBC调用存储过程,事务管理和高级应用
查看>>
构建自己的 PHP 框架
查看>>
IOS 一句代码搞定启动引导页
查看>>
Ubuntu使用之Svn命令小技巧
查看>>
【项目积累】对JSON数据的处理
查看>>
Vue2+VueRouter2+webpack 构建项目实战(一):准备工作
查看>>
Android网络应用之Socket(一)
查看>>
Vue组件基础用法
查看>>
SWIG 快速入门
查看>>
IN、EXISTS的相关子查询用INNER JOIN 代替--性能优化
查看>>
Java基础(三):修饰符、运算符、循环结构和分支结构
查看>>