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

题解:[GESP202509 五级] T1

题目传送门 目前还不知道,题目还未加入洛谷题库

题目概述

T1:
给定一个数 \(n(n \le 10^5)\),你需要选出若干个在1到 \(n\) 范围内的数,使其中任意两个数互质(即两数最大公因数为1),问最多你能选几个数?

解题思路

我们可以先使用贪心的思路去思考

假设 \(n=10\),我们从1开始选数

  • 首先,选上1,因为所有整数和1都互质,所以一定要选择
  • 接着,考虑2,发现可以选择,那么就选择
  • 接着3,也可以选择,选择
  • 接着4,发现它和2不互质,不选
  • 5,选
  • 6和2/3不互质
  • 7,选
  • 8,和2不互质
  • 9,和3不互质
  • 10,和2/5不互质

我们发现,我么选出来的数是 \({1,2,3,5,7}\),这已经是数量最多的了

这时候我们发现规律,最优情况下,我们选出来的数都是 1 或者 \(n\) 以内的素数(即只有合数不选)

所以思路就很明确了,把 1 和所有素数选择,那么答案就是 \(n\) 以内的素数\(+1\)

所以我们可以把 \([1,n]\) 区间的素数筛出来,用素数的个数 \(+1\) 即可

Code

我的代码选择使用欧拉筛来筛素数

#include <bits/stdc++.h>
#define int long long
using namespace std;
int n;
bool vis[100005]; // 标记是否是素数
int a[100005]; // 存放素数
int cnt; // 素数个数
signed main()
{cin >> n; // 输入nfor (int i = 2; i <= n; i++){if (!vis[i]){// 如果i是素数,则将其存入数组a中cnt++; // 素数个数加1a[cnt] = i; // 存入数组a中}for (int j = 1; j <= cnt && i * a[j] <= n /*防止溢出*/; j++){// 枚举数组a中的素数,如果i能整除a[j],则说明i不是素数,跳出循环vis[i * a[j]] = true; // 将i*a[j]标记为非素数if (i % a[j] == 0) // 如果i能整除a[j],则说明i不是素数,跳出循环{break;}}}cout << cnt + 1 << endl; // 输出素数个数+1(因为1不是合数)return 0;
}
http://www.zskr.cn/news/13410.html

相关文章:

  • US$39.9 Scorpio-LK Emulators SLK-06 for Tango Key Programmer
  • 2025无人机在低空应急救援中的应用实践
  • 记录,结构,枚举,ref,in和out 元组
  • Flutter - dart 语言从入门到精通 - 教程
  • 哈夫曼编码例题
  • Win11共享打印0x0000bc4,三步解决共享难题
  • Atlas Mapper 教程系列 (7/10):单元测试与集成测试 - 教程
  • 【WCH蓝牙系列芯片】-基于CH585开发板—IO口(GPIO)外部中断唤醒蓝牙睡眠模式
  • DevExpress WinForms v25.2新功能预览 - 即将升级富文本编辑器控件功能
  • redis-事务操作
  • 【Linux基础知识系列:第一百四十篇】理解SELinux与系统安全 - 教程
  • 关于修改 linux 系统中优先使用中文结构
  • 中国DevOps平台竞品分析:安全合规与技术生态的双重较量
  • experiment 1
  • Prometheus源码专题【左扬精讲】—— 监控系统 Prometheus 3.4.0 源码解析:head_wal.go 的 WAL 写入策略与缓存管理源码解读
  • Tomcat中启用h3的方法是什么
  • k8s-Namespace
  • 分布式专题——23 Kafka日志索引详解 - 指南
  • Agent的九种设计模式 - 详解
  • python占用指定比例CPU
  • 6 个替代 Microsoft Access 的开源数据库工具推荐
  • MCU的闪存(FLASH)按机制结构划分区域
  • 题解:CF1930I Counting Is Fun
  • K8S-Service 学习
  • 第05周 预习、实验与作业:继承与多态
  • 深入解析:ShardingSphere 与分库分表:分布式数据库中间件实战指南
  • electron38-admin桌面端后台|Electron38+Vue3+ElementPlus管理系统
  • 长江中游干流河道崩岸特征与机理研究综述
  • 基于 Python Keras 建立 猫狗图像的精准分类
  • 《ESP32-S3使用指南—IDF版 V1.6》第四十章 图片显示实验