尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

A. Vasya and Petyas Game

A. Vasya and Petyas Game
📅 发布时间:2026/6/19 9:01:20

https://codeforces.com/problemset/problem/576/A

题意:给定一个数x∈[1, n],然后猜测一个序列,我们可以在上交序列后,得知序列中的每个数y是否可以整除x,找出这个最短序列,可以让我们知道x是多少。

思路:这个序列中的数需要能够组合成任何[2,n]之间的数,这样我们对于任意的两个询问q1和q2,..qn,如果都能整除x,那么可能是q1q2..qn,如果有一个不能整除x,那么肯定不是x,所以我们需要预处理出所有的质因子,然后将单个质因子的幂组成的所有[1,n]的因子的集合列出来,就是ans。

总结:题目有两个关键点,第一个是意识到,我们给出的序列里的数,需要能够判定所有的[2,n]的可能的x,因为如果[2,n]中每个数都不满足x,那么答案是1,如果有数字能满足,那就在里面。
第二个点是,如何判定这个区间内的所有数?意识到每个数都能由若干个质因子相乘得到,先考虑质数,如果是质数,那么yes or no都可以在一次询问中得到。对于区间内的合数,判断它是否不是x,必须要先知道它的所有的质因子及其数量,再将质因子进行组合,就得到x了。。
有点抽象,就是假如有一个数t,我们判断它是不是我们要找的数,我们只要把x进行质因子分解,然后将相同的质因子进行相乘,得到若干个因子。然后我们询问这些因子能否整除x,如果有一个不能整除,那就寄。如果都能整除x,那答案就是t吗?不一定,假如t2在[1,n]区间内,还需要继续考虑后面的数字,因为x也可能是t2,t*2也满足t的所有质因子的条件。

这么看的话,正确的逻辑应该是,对[1,n]的每个数做质因子分解,然后记录每个质因子出现的最大次数,最后将这些质因子进行幂乘得到所有的因子集合..但是好像先线性筛所有的质因子,然后做幂成,不超过n的因子都要算进去,也是对的。

inline void solve() {primer.sievePrimes();auto primes = primer.getPrimesArray();int n;cin >> n;set<int> sett;for (const auto& p : primes) {if (p > n) {break;}long long cur = p;while (cur <= n) {sett.insert(cur);cur *= p;}}cout << sett.size() << "\n";for (auto v : sett) {cout << v << ' ';}
}

相关新闻

  • CRMEB标准版订单核销的业务逻辑
  • 关系型数据库的基本理论
  • Android Studio Archive | Android Studio 归档下载

最新新闻

  • 【claude】执行claude命令报错:‘claude‘ is not recognized as an internal or external command, operable program
  • 小米手表表盘设计终极指南:三步完成个性化表盘定制
  • 河南开封市青少年戒网瘾学校汇总一览:专治沉迷网络/厌学逃学/叛逆不听话! - 辛云教育资讯
  • 游玩婺女洲顺路吃饭 婺源这家肥肠鱼干净又入味 - 速递信息
  • 2026 阜阳防水补漏靠谱服务商盘点:屋面 / 厨卫 / 外墙 / 地下室渗水维修详解,适配皖北淮河平原防冻防潮防水甄选指南 - 宅安选房屋修缮
  • 南宁黄金回收避坑指南!看懂正规交易标准,告别压价套路 - 开心测评

日新闻

  • 5分钟掌握Python进化算法:Geatpy高性能优化工具完全指南
  • Microchip 24AA044 EEPROM选型与应用全指南:从参数解析到实战编程
  • 华为的鸿蒙到底有多牛?为什么称作遥遥领先?

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号