当前位置: 首页 > news >正文

好数

题目大意

题目传送门

U611329 好数

题目描述

如果一个正整数 \(x\) 满足 \(x = an + b (n \in \mathbb{N}^+)\)\(a, b\) 为给定的常数),则称 \(x\) 为「好数」。

如果一个「好数」不能被除了自己以外的任何「好数」整除,则称这个数为「很好数」。

你的任务是求出前 \(m\) 个「好数」中有多少个「很好数」。

思路

看到是要将所有的好数中是很好数的个数求出来,相当于筛掉一些非很好数。所以可以用类似于质数筛的筛法来解决这个问题。

设第 \(n\) 个「好数」为「很好数」,则这个数为 \(x = an + b\)。现在需要快速的在是好数的数中筛掉非很好数即筛掉 \(x\) 的倍数。

设第 \(n'\) 好数为非很好数且为 \(x\) 倍数,设 \(an' + b = x * k\) 其中 \(k\) 为整数。
\(x = an + b\) 代入式子中,得 $$an' + b = (an + b) * k$$

\[an' + b = an * k + b * k \]

\[n' = n * k + \frac{(k - 1)b}{a} \]

\(d = gcd(a, b)\),则 \(a = a'd\)\(b = b'd\),且 \((a', b') = 1\),再次代入式子可以发现

\[\frac{(k-1)b'd}{a'd} = \frac{(k-1)b'}{a'} \]

由于 \((a', b') = 1\),所以 \(a'\) 整除 \(k - 1\)

不妨设 \(j\) 使 \(a'j = k - 1\),所以 \(k = a'j + 1\),代入原式

\[n' = n * (a'j + 1) + \frac{a'j * b'}{a'} \]

\[n' = n * a'j + n + j * b' \]

\[n' = j(na' + b') + n \]

于是就可以枚举 \(j(1 \le j\ \&\ j * (na' + b') + n \le m)\),筛掉不合法的数了。

时间复杂度 \(O(n log n)\)

代码

#include <bits/stdc++.h>
using namespace std;const long long N = 10000010;
long long m, a, b;
bool vis[N];long long gcd(long long x, long long y) {if (y == 0) return x;return gcd(y, x % y);
}int main() {cin >> m >> a >> b;long long d = gcd(a, b);long long pa = a / d, pb = b / d, ans = 0;for (long long i = 1; i <= m; i++)if (!vis[i]) {ans++;long long x = pa * i + pb;for (long long j = 1; j * x + i <= m; j++)vis[j * x + i] = true;}cout << ans << endl;return 0;
}
http://www.hskmm.com/?act=detail&tid=23480

相关文章:

  • 2025.10 做题记录
  • 页面分配策略
  • 2025防火皮革厂家TOP企业品牌推荐排行榜,B1级防火皮革,建筑防火皮革,审讯室防火皮革,邮轮级防火皮革,软包防火皮革公司推荐
  • 最强AI图片变视频工具,无内容限制,偷偷下载收藏
  • 2025年电子设备行业最受欢迎的5款CRM推荐
  • 2025年铝板厂家TOP企业品牌推荐排行榜,1060铝板,1100铝板,3003铝板,3004铝板,5052铝板,5083铝板,6061铝板,6063铝板,6082铝板公司推荐!
  • 2025年防撞软包厂家TOP企业品牌推荐排行榜,询问室,幼儿园,B1墙板,防撞软包门防火墙板,阻燃墙板,防撞软包家具,桌椅,马桶,洗手盆公司推荐
  • HTTP 错误 403.14 - Forbidden Web 服务器被配置为不列出此目录的内容——错误代码:0x00000000 - 教程
  • 2025年防撞软包厂家TOP企业品牌推荐排行榜,谈话室,留置病房,教育中心,体育馆,约谈室,监察机构,墙体,阻燃,醒酒室,墙面,洽谈室,留置室,防撞软包洽谈桌公司推荐
  • MySQL 全量 + 增量备份脚本(RPM 安装)实践与疑问解析
  • 2025最新展会搭建公司推荐排行榜:服务商创意定制与全流程服务能力深度解析
  • 10 3
  • 2025磁选机厂家TOP企业品牌推荐排行榜,立环磁选机,高梯度磁选机,立环高梯度磁选机,油冷立环磁选机公司推荐
  • 医疗设备厂家不要再盲选了,专业的医疗DMS经销商管理软件来了!
  • 2025最新编织袋生产厂家推荐排行榜:涵盖牛皮纸、塑料、PP 彩膜等品类,助力企业精准甄选可靠合作伙伴
  • AT_abc266_g [ABC266G] Yet Another RGB Sequence
  • 2025超市货架厂家 TOP 企业品牌推荐排行榜,云南超市货架,昆明超市货架,西南超市货架推荐这十家公司!
  • 深入解析:Visual RM 用智能引擎重塑企业协作新模式!
  • Windows 11 共享打印机设置
  • Win7下bat条件满足语句不执行的奇怪案例-延迟变量解决
  • for (EmpExpr empExpr : exprList) {}语法糖
  • 251003
  • Rust泛型详解 - 实践
  • AT_abc205_e [ABC205E] White and Black Balls
  • Python 自动化导出PDF表格:List、Dictionary、Pandas DataFrame和数据库实例演示 - 指南
  • Redis 持久化机制 - 教程
  • 2025染井吉野樱公司 TOP 种植服务推荐排行榜,染井吉野樱花苗,五公分染井吉野樱,十公分染井吉野樱,染井吉野樱批发,染井吉野樱基地,染井吉野樱花树公司推荐
  • glazewm_windows平铺窗口管理器使用方法
  • 树莓派搭建NAS之三:使用OpenList挂载网盘
  • sg-ss 逆向分析