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

题解:P14073 [GESP202509 五级] 数字选取

题解:P14073 [GESP202509 五级] 数字选取

题目传送门

题意

给定 \(1,2,3,4,\cdots,n\) 一共 \(n\) 个整数,从这些数中选取一些数字,使得选取的整数中任意两个不同的整数均互质。

数据规模与约定

对于所有测试点,保证 \(1 \le n \le 10^5\)

算法 tag

质数、筛法。

题解

  • 核心发现 \(1\):在这些数中,\(1\) 是必须选的,因为 \(1\) 与任何数的最大公因数都是 \(1\)
  • 核心发现 \(2\):任意两个不相等的质数一定互质,因为质数的因数只有 \(1\) 和它本身。
  • 核心发现 \(3\):用合数替换其质因数,无法增加答案数量,因为合数一定包含至少一个质因数,若选合数则必须放弃其质因数(因它们不互质),但 \(1\) 个合数最多只能替代 \(1\) 个质因数,无法增加总数量。例如:选 \(4\)(质因数 \(2\))只能替代质数 \(2\),数量不变;选 \(6\)(质因数 \(2\)\(3\))会替代 \(2\) 个质数,数量反而减少 —— 因此选质数比选合数更优。

综上,可以发现最优策略是 \(1\)\(n\) 中的质数个数 \(+1\)(因为还有个 \(1\) 也是合法的)。

可以使用埃筛筛出 \(1\)\(n\) 之间的质数,统计这些质数个数,再把答案 \(+1\)

Code

void Solve(void)
{int n;cin>>n;vector<bool> is_prime(n+1,true);is_prime[0]=is_prime[1]=false; for(int i=2;i*i<=n;i++) {if(is_prime[i]){for(int j=2;i*j<=n;j++){is_prime[i*j]=false;	}	} }int ans=0;for(auto b:is_prime){if(b)ans++;}cout<<ans+1<<endl;
}
http://www.hskmm.com/?act=detail&tid=21880

相关文章:

  • 2025西安新房住宅推荐排行榜发布,房屋品质、周边配套、交通便利性多维度选择指南!
  • 华为造车“内战”!徐直军下场做“启境”,会比余承东五界更强?
  • 余承东的新职位传递了华为重大信息
  • 张雪峰的事儿,大有文章
  • 词(持续更新)语言的边界就是
  • 财务分析怎么做 - 智慧园区
  • Maven的安装与配置
  • 2025包装机厂家推荐榜单出炉:拉伸膜真空包装机,全自动真空包装机,滚动式真空包装机,食品真空包装机,气调包装机公司推荐!
  • 2025年真空机厂家推荐榜:平台式真空封口机,拉伸膜真空覆膜机,全自动拉伸膜真空包装机,滚动连续式真空包装机,双面拉伸真空包装机公司实力甄选指南
  • 【半导体器件 | 笔记】金属氧化物半导体场效应晶体管(MOSFET)
  • 元人文AI场域:在有限与无限的纠缠中走向智慧文明
  • 【半导体器件 | 笔记】双极晶体管(BJT)
  • Luogu P3863 序列 题解 [ 紫 ] [ 分块 ] [ 扫描线 ]
  • [HCTF 2018]WarmUp
  • Day2:Linux文件目录移到拷贝与vim编辑器使用指南
  • 【半导体物理 | 笔记】第八章 半导体表面与MIS结构
  • 【半导体物理 | 笔记】第七章 金属和半导体的接触
  • 【半导体物理 | 笔记】第四章 半导体的导电性
  • 【半导体物理 | 笔记】第五章 非平衡载流子
  • 【AHK】暗黑3助手,加强版鼠标宏
  • 【当前赛季】第36赛季:地狱魔王9月12日开启
  • 第36赛季:地狱魔王9月12日开启
  • 2025年9月 增值税进项税额,不可抵扣VS可抵扣全解析
  • 【Rust GUI开发入门】编写一个本地音乐播放器(14. 应用打包-制作安装程序) - Jordan
  • 【黑马python】2.Python基础语法-注释 数据类型 运算符 字符串等
  • Visual Studio Code + Clangd 设置语法检查针对 C++的版本。
  • 示波器地、大地、电源地!地线着火?
  • 【黑马python】2.Python基础知识-注释 数据类型 运算符 字符串等
  • Educational Codeforces Round 135 (Rated for Div. 2)
  • 【Rust GUI开发入门】编写一个本地音乐播放器(13. 实现按键绑定) - Jordan