news 2026/2/7 4:23:37

<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/2/5 10:14:04

AQLM极致压缩技术上线,ms-swift助你把模型塞进笔记本

AQLM极致压缩技术上线&#xff0c;ms-swift助你把模型塞进笔记本 在一台搭载RTX 4090的普通笔记本上运行Llama-3-70B——这在过去几乎是个笑话。毕竟&#xff0c;这个模型光是FP16精度就需要超过140GB显存&#xff0c;连顶级A100服务器都得小心翼翼调度资源。然而今天&#xff…

作者头像 李华
网站建设 2026/2/6 5:53:35

Kibana可视化查询界面:快速定位错误堆栈与性能瓶颈

Kibana可视化查询界面&#xff1a;快速定位错误堆栈与性能瓶颈 在大模型训练日益复杂的今天&#xff0c;一个看似不起眼的日志条目&#xff0c;可能隐藏着整个任务失败的根源。你是否经历过这样的场景&#xff1a;凌晨两点&#xff0c;训练任务突然中断&#xff0c;你打开终端&…

作者头像 李华
网站建设 2026/2/4 6:47:23

数据集不够怎么办?ms-swift内置150+预训练数据集免费开放

数据集不够怎么办&#xff1f;ms-swift内置150预训练数据集免费开放 在大模型研发日益普及的今天&#xff0c;一个现实问题正困扰着无数开发者&#xff1a;数据从哪来&#xff1f; 你可能已经选好了基座模型&#xff0c;设计好了微调流程&#xff0c;甚至搭好了训练集群——但当…

作者头像 李华
网站建设 2026/2/4 14:27:57

从Python到C的跨越:TinyML模型部署核心技术(C语言落地大揭秘)

第一章&#xff1a;从Python到C的跨越&#xff1a;TinyML部署全景解析在嵌入式设备上运行机器学习模型&#xff0c;是边缘智能发展的关键一步。TinyML 技术让资源受限的微控制器也能执行推理任务&#xff0c;而实现这一目标的核心环节是从高阶 Python 环境训练的模型&#xff0…

作者头像 李华
网站建设 2026/2/6 5:45:07

Storj分布式对象存储:低成本高可用的替代选择

Storj分布式对象存储&#xff1a;低成本高可用的替代选择 在AI模型动辄数十GB、训练检查点频繁生成的今天&#xff0c;一个团队可能每周就要产生上百GB的数据。传统云存储虽然稳定&#xff0c;但长期累积下来&#xff0c;账单往往令人咋舌——尤其是当这些数据只是“以防万一”…

作者头像 李华
网站建设 2026/2/6 21:02:27

你真的会用#pragma omp parallel吗?,99%开发者忽略的3个效率杀手

第一章&#xff1a;你真的了解#pragma omp parallel的本质吗OpenMP 是一种广泛应用于 C/C 和 Fortran 的并行编程模型&#xff0c;而 #pragma omp parallel 正是其最核心的指令之一。它并非简单的“开启多线程”开关&#xff0c;而是触发了一整套运行时机制&#xff0c;决定了线…

作者头像 李华