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

洛谷题单指南-进阶数论-CF582A GCD Table

洛谷题单指南-进阶数论-CF582A GCD Table
📅 发布时间:2026/6/17 20:52:55

原题链接:https://www.luogu.com.cn/problem/CF582A

题意解读:已知数列中每两个数的GCD(包括自己和自己的GCD),求原数列有哪些数。

解题思路:

由于GCD(a, b) <= min(a, b),

那么初始情况下GCD表中最大的数一定是数列中的数,

将最大的数从GCD表中移除,让后看剩下的数中最大的数,第二大的数也一定是数列中的数,

再把第二大的数移除,看第三大的数,第三大的数有可能是第一大的数和第二大的数的GCD,不能断定就是最大的数,

那么这样操作一下,将第一大和第二大的数的GCD也都移除,再看剩下的数里最大的数,必然是数列中的数。

因此,算法可以描述为:

1、将GCD表排序,用map记录每个数的个数

2、取最大的数,将此数移除(移除用map的个数减少来表示)

3、将此时最大的数和已经加入答案的数的GCD都移除

4、将此最大数加入答案

5、重复2操作

100分代码:

#include <bits/stdc++.h>
using namespace std;const int N = 505;
int g[N * N];
unordered_map<int, int> mp;//记录某个数的出现次数
int ans[N], cnt;
int n;int gcd(int a, int b)
{return b == 0 ? a : gcd(b, a % b);
}   int main()
{cin >> n;for(int i = 1; i <= n * n; i++) {cin >> g[i];mp[g[i]]++;}sort(g + 1, g + n * n + 1, greater<int>());for(int i = 1; i <= n * n; i++){int x = g[i];if(mp[x] == 0) continue; //已经删除的,跳过mp[x]--;for(int i = 1; i <= cnt; i++){int d = gcd(ans[i], x);mp[d] -= 2;}ans[++cnt] = x;if(cnt == n) break;}for(int i = 1; i <= n; i++) cout << ans[i] << " ";return 0;
}

 

相关新闻

  • Go语言测试全攻略:从单元测试到模糊测试
  • 090_尚硅谷_循环控制基本介绍和入门
  • 2025锻造成型/多向锻造/锚杆托盘成型/粉末成型/拉伸成型/玻璃钢成型/复合材料成型/液压机推荐榜:山东威力重工机床领衔,工业 / 定制化液压设备优质厂家精选

最新新闻

  • 生成式AI实操手记:从GAN、VAE到扩散模型的可复现训练指南
  • 江苏地区消防证培训综合实力排行及核心指标解析 - 起跑123
  • Cecropin A ;KWKLFKKIEKVGQNIRDGIIKAGPAVAVVGQATQIAK-NH₂
  • Citra 3DS模拟器终极画质优化指南:如何在普通电脑上获得最佳视觉体验
  • 2026 福州包包回收避坑指南!7 家正规门店盘点,闲置奢侈品变现首选添价收 - 薛定谔的梨花猫
  • 潮州防水补漏哪家好?2026 专业防水修缮 TOP3 排名解析,精准检测暗管漏水,厨卫、楼顶、阳台、飘窗外墙渗漏、瓷砖空鼓修补全套维修测评 - 泛家庭维修

日新闻

  • 2026年不锈钢卷板厂家推荐排行榜:冷轧热轧/304/201不锈钢卷板,高颜值耐腐蚀源头厂家实力精选 - 企业推荐官【官方】
  • FLUX.1-dev FP8模型实战指南:24GB以下显卡高效部署方案
  • 2026佛山长途搬家价目表:跨省跨市搬家费用完整计算指南 - 从来都是英雄出少年

周新闻

  • 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 号