传送门:蓝桥杯

题目大意:

求区间 [m,n] 中幸运数的个数。

锦囊2:

从左到右扫描,用一下堆来处理,堆的每项记录下要删的倍数和当前删到的值,以当前删到的值建小根堆。每次取出一个加上一次倍数再放回去。枚举每一个数,如果这个数被跳过了就枚举下一个,如果没被跳过就找到了一个幸运数,把它的两倍加入堆。2的倍数可以特别处理一下。

思路:

因为提示用堆来做,我第一反应是用优先队列来做,但是发现优先队列不能很方便的按照下标遍历……GG……

正确的姿势是配合DFS暴力模拟,先去除下标为2的倍数的数,得到所有奇数。然后在此基础上,去除下标是当前位置数 x 的倍数的数,完成之后得到所有的幸运数。统计其中位于所求区间内的数的个数即可。

代码:

#include<stdio.h>int m,n,a[1000010];void dfs(int dep)
{int cnt=dep;if(a[dep]>n) return;for(int i=dep;i<n;i++){ //从当前位置往后遍历//如果位置 i不是 dep位置数的倍数则添加到数列中 if(i%a[dep]) a[cnt++]=a[i];}dfs(dep+1);
}int main()
{int i,ans;         while(~scanf("%d%d",&m,&n)){for(i=1;i<=n;i++) a[i]=i*2-1;     dfs(2); //从数字 2 的位置dfs即可 i=1;ans=0;while(a[i]<n){ //求所求区间内的数的个数 if(a[i++]>m) ans++;}printf("%d\n",ans);}return 0;
}

蓝桥杯 历届试题 幸运数 (堆+DFS)相关推荐

  1. 蓝桥杯c语言试题幸运数,蓝桥杯  历届试题 幸运数  dfs

    时间限制:1.0s   内存限制:256.0MB 问题描述 幸运数是波兰数学家乌拉姆命名的.它采用与生成素数类似的"筛法"生成 . 首先从1开始写出自然数1,2,3,4,5,6,. ...

  2. 蓝桥杯 历届试题 分考场 (DFS)-----C语言—菜鸟级

    问题 1874: [蓝桥杯][2017年第八届真题]分考场 时间限制: 1Sec 内存限制: 128MB 提交: 62 解决: 12 题目描述 n个人参加某项特殊考试. 为了公平,要求任何两个认识的人 ...

  3. 蓝桥杯历届试题 剪格子 (DFS)

    http://lx.lanqiao.cn/problem.page?gpid=T27 历届试题 剪格子 时间限制:1.0s 内存限制:256.0MB 提交此题 锦囊1 锦囊2 问题描述 如下图所示,3 ...

  4. 蓝桥杯 历届试题 分考场(DFS+枚举)

    传送门 题目描述 n个人参加某项特殊考试. 为了公平,要求任何两个认识的人不能分在同一个考场. 求是少需要分几个考场才能满足条件. 输入 第一行,一个整数n(1<n<100),表示参加考试 ...

  5. [蓝桥杯][历届试题]网络寻路(DFS)

    题目描述 X 国的一个网络使用若干条线路连接若干个节点.节点间的通信是双向的.某重要数据包,为了安全起见,必须恰好被转发两次到达目的地.该包可能在任意一个节点产生,我们需要知道该网络中一共有多少种不同 ...

  6. 历届试题+九宫重排+java_蓝桥杯 历届试题 九宫重排 (bfs+康托展开去重优化)...

    Description 如下面第一个图的九宫格中,放着 1~8 的数字卡片,还有一个格子空着.与空格子相邻的格子中的卡片可以移动到空格中.经过若干次移动,可以形成第二个图所示的局面. 我们把第一个图的 ...

  7. 【蓝桥】 历届试题 分考场(DFS,回溯,剪枝,无向图染色问题)

    历届试题 分考场 时间限制:1.0s 内存限制:256.0MB 问题描述 n个人参加某项特殊考试. 为了公平,要求任何两个认识的人不能分在同一个考场. 求是少需要分几个考场才能满足条件. 输入格式 第 ...

  8. 蓝桥杯历届试题 地宫取宝 dp or 记忆化搜索

    问题描述 X 国王有一个地宫宝库.是 n x m 个格子的矩阵.每个格子放一件宝贝.每个宝贝贴着价值标签. 地宫的入口在左上角,出口在右下角. 小明被带到地宫的入口,国王要求他只能向右或向下行走. 走 ...

  9. 蓝桥杯历届试题代码参考

    蓝桥杯历届试题代码参考 历届试题 核桃的数量 打印十字图 带分数 剪格子 错误票据 翻硬币 连号区间数 买不到的数目 大臣的旅费 幸运数 横向打印二叉树 危险系数 网络寻路 高僧斗法 格子刷油漆 农场 ...

最新文章

  1. html进度条圆圈渐变色,HTML5 canvas带渐变色的圆形进度条动画
  2. macbookpro升级后打不开eclipse_维修分享——面容坏升级iOS13系统后 导致前后摄像头都打不开...
  3. 20应用统计考研复试要点(part40)--概率论与数理统计
  4. 用Docker自动构建纸壳CMS
  5. CTabCtrl控件标签的相关设置
  6. 为什么是先更新数据库再删除缓存,而不是更新缓存?
  7. 170329、用 Maven 部署 war 包到远程 Tomcat 服务器
  8. mysql alter event_MYSQL ALTER EVENT介绍
  9. android实现Materia Design风格APP(六):结束,实现APP
  10. 坦克世界无法连接服务器未响应,打开坦克世界提示网络异常或者连接不上
  11. Julia :迎接0.6的到来
  12. java安装包的大概组成部分
  13. 软件工程---gjb438b 质量规范体系
  14. 双线性插值公式推导及Matlab实现
  15. Python三十个常见的脚本汇总
  16. FRP 内网穿透下载配置
  17. Linux 启动项管理
  18. Python全量字段校验
  19. 决策理论与方法——效用函数
  20. 锐龙r5 6600u和r5 5600u区别 r56600u和r55600u对比

热门文章

  1. android sd卡 读写文件系统,安卓10写入和读取sdcard文件
  2. ags js下载地址
  3. 【02月25日】【精彩电影合集】【15部】【亲测】【Lsyq5647发布】
  4. vue3 获取当前路由参数
  5. 旅行家算法(贪心算法)
  6. 【Web开发】登录注册功能实现
  7. 2840页的计算机毕业论文!德州奥斯汀华人博士究竟写了啥?
  8. 查看版本linux内核版本是多少,查看linux版本,内核及多少位
  9. 地球online中国大区各服务器最近屡次发生高等级玩家砍死小号事件~
  10. [P3518]strongbox