1、题目大意:定义g(x)为x的约数个数,如果对于任意的y使得y < x且 g(y) < g(x),那么x成为反质数
现在,让你求一个区间内的反质数区间的两个端点 <= 10^9
2、分析:不要看着区间很大就被吓唬住了,其实啊,这道题打表是可以AC的,因为总共也没有多少的反质数
但是因为我比较人性,所以没有打表,那么怎么做呢,对于dp一向很敏感的我把这题硬生生的写成的dp
我们看反质数的特点,是不是可以发现其实反质数分布很稀疏,我们可以求出当约数个数是x的时候,最小的数是多少
因为次小的,次次小的,都是不合法的,这样,我们就淘汰了一大半,只要我们求出这个,随便的搞搞就过了
怎么求呢》》》》》
我们由约数公式可以得到,我们要将x分解因数,然后对于所有的因数我们把对应的质数给它,然后根据约数公式还原
但是我们如果暴力的话会感觉要虚啊,于是动态规划大法好,,,,,,,,,
我们发现对应的质数我们只需要前25个就够了,于是小学被了前100的质数,然后我就手写的质数表233
我们根据约数公式来dp,我们从最后一位向前dp,然后一个一个玩,然后就AC了,,,,

3、代码:

#include <cmath>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <algorithm>
using namespace std;
#define LL long long
LL prime[26]  = {0, 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97};
LL f[50][700];
LL ans[200000];
LL real_ans[200000];
pair<LL , LL> st[200000];
LL power(LL o, LL x, LL p){if(x == 0) return 1;if(x == 1) return o;LL k = power(o, x / 2, p);if(k > p || k == -1 || k * k > p) return -1;if(x & 1) return k * k * o;else return k * k;
}
int main(){LL n, m;scanf("%lld%lld", &n, &m);f[26][1] = 1;for(LL i = 25; i >= 1; i --){for(LL j = 1; j <= 600; j ++){f[i][j] = 200000000;for(LL k = 1; k <= sqrt(j); k ++){if(j % k == 0){LL w = j / k;LL t; if(f[i + 1][k] != 0){t = power(prime[i], j / k - 1, m / f[i + 1][k]);if(t != -1)   f[i][j] = min(f[i][j], f[i + 1][k] * t);}if(f[i + 1][w] != 0){t = power(prime[i], j / w - 1, m / f[i + 1][w]);if(t != -1) f[i][j] = min(f[i][j], f[i + 1][w] * t);   }}}if(f[i][j] == 200000000) f[i][j] = 0;}}LL mm1 = 0, mm2 = 0;LL tot1 = 0, tot = 0;for(LL i = 1; i <= 600; i ++){if(f[1][i] != 0){st[++ tot].first = f[1][i];st[tot].second = i; }}sort(st + 1, st + tot + 1);for(LL i = 1; i <= tot; i ++){if(st[i].first > mm1 && st[i].second > mm2){ans[++ tot1] = st[i].first;mm1 = st[i].first;mm2 = st[i].second;}}LL wt = 0;for(LL i = 1; i <= tot1; i ++){if(n <= ans[i] && ans[i] <= m) real_ans[++ wt] = ans[i];}if(wt == 0){printf("NO");return 0;}for(LL i = 1; i < wt; i ++) printf("%lld,", real_ans[i]);printf("%lld", real_ans[wt]);return 0;
}

noip题库 —— 4.7反质数相关推荐

  1. HOJ 系统常用功能介绍 部署快速入门 c++ python java编程语言在线自动评测 信息奥赛一本通 USACO GESP 洛谷 蓝桥 CSP NOIP题库

    技术支持微 makytony 服务器配置需求 腾讯云 2H4G 5M 60GB 轻量应用服务器  承载大约 200~400人使用,经过压力测试,评测并发速度可满足130人左右的在线比赛. 系统镜像选 ...

  2. 如何实现随机题库生成

    背景描述: 对于每一个不同的用户,从题库里随机抽取题目, 抽取的题目都是该用户未抽取过的,每个用户产生的考卷不相同. 解决方案: 方法一:使用bitSet保存用户历史题集 内存占用分析:百万级用户*万 ...

  3. 儿科主治医师总题库 --- 一例APK脱壳反编译寻找AES密钥过程记录

    应客户需求对一款名为"儿科主治医师总题库"(https://www.wandoujia.com/apps/com.zitibaohe.zhuzhiyishierke,包名为com. ...

  4. ACM大量习题题库及建议培养计划

    ACM大量习题题库 ACM大量习题题库  现在网上有许多题库,大多是可以在线评测,所以叫做Online Judge.除了USACO是为IOI准备外,其余几乎全部是大学的ACM竞赛题库. USACO h ...

  5. ACM题库以及培养策略

    ACM大量习题题库 ACM大量习题题库 现在网上有许多题库,大多是可以在线评测,所以叫做Online Judge.除了USACO是为IOI准备外,其余几乎全部是大学的ACM竞赛题库. USACO ht ...

  6. 视频教程-算法设计与编算法设计与编程实践---基于leetcode的企业真题库程实践-C/C++

    算法设计与编算法设计与编程实践---基于leetcode的企业真题库程实践 夏曹俊:南京捷帝科技有限公司创始人,南京大学计算机硕士毕业,有15年c++跨平台项目研发的经验,领导开发过大量的c++虚拟仿 ...

  7. 唐朔飞计算机组成原理pdf_唐朔飞计算机组成原理第2版配套题库名校考研真题课后答案资料课后习题章节题库模拟试题...

    唐朔飞<计算机组成原理>(第2版)配套题库[名校考研真题+课后习题+章节题库+模拟试题] 第一部分 名校考研真题 2015年全国硕士研究生入学统一考试计算机科学与技术学科联考计算机学科专业 ...

  8. 两个listmap合并去重_我是如何用单机实现亿级规模题库去重的?

    题外话:欢迎将公众号设置为星标,技术文章第一时间看到.我们将一如既往精选技术好文,提供有价值的阅读.如有读者想要投稿,可以在公众号任意文章下留言,技术博主奖励丰厚. 作者:haolujun cnblo ...

  9. 计算机vb选择题题题库,2013计算机二级VB真考选择题题库(4

    <2013计算机二级VB真考选择题题库(4>由会员分享,可在线阅读,更多相关<2013计算机二级VB真考选择题题库(4(11页珍藏版)>请在人人文库网上搜索. 1.2013计算 ...

最新文章

  1. WebRTC音视频引擎研究(2)--VoiceEngine音频编解码器数据结构以及参数设置
  2. 收发一体超声波测距离传感器模块_芜湖低功耗超声波液位计物位计设备排名
  3. 如何正确的开始用 Go 编程
  4. windows server 2012安装
  5. phpboot使用mysql_PHP MySQL 插入数据
  6. 联想小新i1000拆机图解_小白晒小白:Lenovo 联想 小新 I1000 笔记本电脑
  7. python爬取b站视频封面_Python实战爬虫——B站封面爬取
  8. AFL++: Combining Incremental Steps of Fuzzing Research
  9. 《痞子衡嵌入式半月刊》 第 19 期
  10. SEO外链收录:锚文本外链代发排名
  11. [图形学] 基于图像的照明:漫反射辐照度
  12. (转)Android Jetpack Compose 最全上手指南
  13. MVC中的URL路由(一)
  14. 【APF三维路径规划】基于matlab人工势场算法无人机三维路径规划【含Matlab源码 168期】
  15. 推荐!一个简单而又精致的博客系统
  16. mac php.ini 配置,Mac上PHP的配置 | Soo Smart!
  17. OpenCV+vs2015配置
  18. 经纪机构如何应用未来数字员工高效的处理数据
  19. 胡立阳:如何避免落入弱势反弹的陷阱
  20. 【日记本砸】21.05.08-17 重要的不是抢先别人跑多远,而是那种越跑越有劲的状态

热门文章

  1. “Internet来宾帐户”的设置的问题
  2. 腾讯地图位置搜索,标记
  3. C#语言跟WPF学习视频
  4. 使用 Python 和 Bitly 缩短您的 URL
  5. 编写两个过滤器,一个过滤器在 web 服务时,起用 UTF-8 编码,以处理 web 服务时的乱码问题。 另一个过滤器用来判断用户是否登录,只有登录用户方可访问/view 子目录。
  6. 添加多浏览器支持是什么意思_低gi什么意思,减肥期间一定要多吃低gi的食物吗?- 理财技巧...
  7. java实现RabbitMQ消息队列
  8. 小学计算机网络信息安全教案,黑教版信息技术五年级上册第十五课《网络信息安全》教案.doc...
  9. 可爱的灯泡眨眼表情动画特效
  10. 手机充电器的D+,D-电压