news 2026/4/16 19:01:50

<P2567 [SCOI2010] 幸运数字>

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
<P2567 [SCOI2010] 幸运数字>

题目背景

四川 NOI 省选 2010。

题目描述

在中国,很多人都把 6 和 8 视为是幸运数字!lxhgww 也这样认为,于是他定义自己的“幸运号码”是十进制表示中只包含数字 6 和 8 的那些号码,比如 68,666,888 都是“幸运号码”!但是这种“幸运号码”总是太少了,比如在 [1,100] 的区间内就只有 6 个(6,8,66,68,86,88),于是他又定义了一种“近似幸运号码”。lxhgww 规定,凡是“幸运号码”的倍数都是“近似幸运号码”,当然,任何的“幸运号码”也都是“近似幸运号码”,比如 12,16,666 都是“近似幸运号码”。

现在 lxhgww 想知道在一段闭区间 [a,b] 内,“近似幸运号码”的个数。

输入格式

输入数据是一行,包括 2 个数字 a 和 b。

输出格式

输出数据是一行,包括 1 个数字,表示在闭区间 [a,b] 内“近似幸运号码”的个数。

输入输出样例

输入 #1复制

1 10

输出 #1复制

2

说明/提示

对于 30% 的数据,保证 1≤a≤b≤106。

对于 100% 的数据,保证 1≤a≤b≤1010。

代码实现:

#include <iostream> #include <algorithm> #include <cmath> #define int long long using namespace std; const int N=1e6+9; int x, y, res; int lst[N], t, lc[N], len; bool mk[N]; void dfs(int s) { if(s > y) return; if(s) lst[++t] = s; dfs(s*10+6); dfs(s*10+8); } bool cmp(int a, int b) { return a>b; } __int128 gcd(__int128 a, __int128 b) { if(!b) return a; else return gcd(b, a%b); } __int128 lcm(__int128 a, __int128 b) { if(!a) return b; return a/gcd(a,b)*b; } void dfs2(int idx, int cnt, __int128 lm) { if(lm > y) return; if(idx > len) { if(!lm) return; int sign = (cnt%2) ? 1 : -1; res += sign * (floor(1.0*y/lm) - ceil(1.0*x/lm) + 1); return; } dfs2(idx+1, cnt+1, lcm(lm, lc[idx])); dfs2(idx+1, cnt, lm); } signed main() { scanf("%lld%lld", &x, &y); dfs(0); for(int i=1; i<=t; ++i) { if(!mk[i]) lc[++len] = lst[i]; for(int j=i+1; j<=t; ++j) if(!(lst[j] % lst[i])) mk[j] = true; } sort(lc+1, lc+1+len, cmp); dfs2(1, 0, 0); printf("%lld", res); return 0; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 13:36:17

React组件库开发中:封装ms-swift API为可复用UI控件

React组件库开发中&#xff1a;封装ms-swift API为可复用UI控件 在AI技术飞速渗透各行各业的今天&#xff0c;大模型应用正从“专家专属”走向“大众可用”。然而&#xff0c;对于大多数前端开发者甚至产品经理而言&#xff0c;面对一串串命令行脚本、复杂的微调参数和动辄几十…

作者头像 李华
网站建设 2026/4/16 13:29:37

【TensorRT推理加速秘籍】:为什么你的C语言实现慢了10倍?

第一章&#xff1a;TensorRT推理加速的核心挑战在深度学习模型部署到生产环境的过程中&#xff0c;推理性能的优化成为关键瓶颈。NVIDIA TensorRT 作为高性能推理引擎&#xff0c;虽能显著提升模型运行效率&#xff0c;但在实际应用中仍面临多重技术挑战。模型兼容性与算子支持…

作者头像 李华
网站建设 2026/4/16 1:12:51

CI/CD流水线集成AI检查点:自动评审代码质量与风格规范

CI/CD流水线集成AI检查点&#xff1a;自动评审代码质量与风格规范 在现代软件交付节奏日益加快的背景下&#xff0c;团队常常面临一个两难困境&#xff1a;如何在保证快速迭代的同时&#xff0c;不牺牲代码质量和工程规范&#xff1f;传统的CI/CD流程虽然集成了静态分析、单元测…

作者头像 李华
网站建设 2026/4/16 13:42:25

【稀缺资料首发】:OpenMP 5.3线程绑定与NUMA优化的黄金配置方案

第一章&#xff1a;OpenMP 5.3并行效率的革命性突破OpenMP 5.3 在并行计算领域实现了关键性演进&#xff0c;显著提升了多核与异构系统下的执行效率。其新增的设备映射优化、增强的任务调度机制以及更灵活的内存管理模型&#xff0c;使得开发者能够以更低的开销实现更高的并行粒…

作者头像 李华
网站建设 2026/4/16 10:59:06

WASM兼容性优化全攻略:让C语言模块在Chrome/Firefox/Edge稳定运行

第一章&#xff1a;WASM兼容性优化全攻略概述WebAssembly&#xff08;WASM&#xff09;作为一种高性能的底层代码运行格式&#xff0c;正在被广泛应用于前端、边缘计算和跨平台服务中。然而&#xff0c;不同运行环境对WASM的支持程度存在差异&#xff0c;导致在实际部署过程中常…

作者头像 李华
网站建设 2026/4/15 15:59:42

C语言与TensorRT深度融合技巧(仅限高手掌握的4个底层优化点)

第一章&#xff1a;C语言与TensorRT集成的核心挑战将C语言与NVIDIA TensorRT进行深度集成&#xff0c;虽然能够实现高性能推理引擎的底层控制&#xff0c;但在实际开发中面临诸多技术难点。这些挑战主要集中在内存管理、API兼容性以及数据流同步等方面。内存模型差异带来的风险…

作者头像 李华