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

蓝桥杯刷题--宝石组合

在一个神秘的森林里,住着一个小精灵名叫小蓝。有一天,他偶然发现了一个隐藏在树洞里的宝藏,里面装满了闪烁着美丽光芒的宝石。这些宝石都有着不同的颜色和形状,但最引人注目的是它们各自独特的 “闪亮度” 属性。每颗宝石都有一个与生俱来的特殊能力,可以发出不同强度的闪光。小蓝共找到了 N 枚宝石,第 i 枚宝石的 “闪亮度” 属性值为 HiHi​,小蓝将会从这 N 枚宝石中选出三枚进行组合,组合之后的精美程度SS 可以用以下公式来衡量:

其中 LCM 表示的是最小公倍数函数。

小蓝想要使得三枚宝石组合后的精美程度 S 尽可能的高,请你帮他找出精美程度最高的方案。如果存在多个方案 S 值相同,优先选择按照 H 值升序排列后字典序最小的方案。

输入格式

第一行包含一个整数 N 表示宝石个数。

第二行包含 N 个整数表示 N 个宝石的 “闪亮度”。

输出格式

输出一行包含三个整数表示满足条件的三枚宝石的 “闪亮度”。

思路

  1. 统计每个闪亮度出现的次数,存到cnt中。
  2. 从大到小枚举最大的gcd。在cnt中找它的倍数,累加个数并添到ans数组中。当个数大于等于3时,直接输出ans的值。
  3. 注意ans数组创建的时机,是每枚举一个gcd然后创建一个ans。
for(int i = max_a;i >= 1;i--){int cnt = 0;  vector<int> ans;for(int j = i;j <= max_a;j+=i){//}

 化简题目思路

p都是底数,a b c 是指数


  1. 设Ha​=p1a1​​p2a2​​⋯pnan​​,Hb​=p1b1​​p2b2​​⋯pnbn​​,Hc​=p1c1​​p2c2​​⋯pncn​​(分解质因数形式)
    根据最小公倍数的质因数求法:对于两个数m=p1x1​​p2x2​​⋯pnxn​​,n=p1y1​​p2y2​​⋯pnyn​​ ,LCM(m,n)=p1max(x1​,y1​)​p2max(x2​,y2​)​⋯pnmax(xn​,yn​)​ 。
    • LCM(Ha​,Hb​)=p1max(a1​,b1​)​p2max(a2​,b2​)​⋯pnmax(an​,bn​)​ ;
    • LCM(Ha​,Hc​)=p1max(a1​,c1​)​p2max(a2​,c2​)​⋯pnmax(an​,cn​)​ ;
    • LCM(Hb​,Hc​)=p1max(b1​,c1​)​p2max(b2​,c2​)​⋯pnmax(bn​,cn​)​ ;
    • LCM(Ha​,Hb​,Hc​)=p1max(a1​,b1​,c1​)​p2max(a2​,b2​,c2​)​⋯pnmax(an​,bn​,cn​)​ 。
    • Ha​Hb​Hc​=p1a1​+b1​+c1​​p2a2​+b2​+c2​​⋯pnan​+bn​+cn​​ 。
  2. 分析分子分母中质因数的指数关系
    对于质因数pi​ :
    • 分子中pi​的指数为ai​+bi​+ci​+max(ai​,bi​,ci​) 。
    • 分母中pi​的指数为max(ai​,bi​)+max(ai​,ci​)+max(bi​,ci​) 。
      通过分析指数大小关系(分多种情况讨论ai​,bi​,ci​的大小顺序,如ai​≥bi​≥ci​ 时:分子指数为ai​+bi​+ci​+ai​,分母指数为ai​+ai​+bi​ ,相减得ci​ ;其他大小顺序情况类似分析 ),可以发现分子分母相除后,对于每个质因数pi​ ,化简后指数为gcd(ai​,bi​,ci​)(gcd表示最大公约数)。
    • 所以S=gcd(Ha​,Hb​,Hc​) 。

 最终答案

#include <iostream>
//#include <bits/stdc++.h>
#include <vector>
#include <unordered_map>
using namespace std;int main()
{// 请在此输入您的代码ios::sync_with_stdio(false);cin.tie(nullptr);int n; cin >> n;int mp[500100] = {0};int max_a = 0;for(int i = 0;i < n;i++){int a; cin >> a;mp[a]++;if(a > max_a) max_a = a;}for(int i = max_a;i >= 1;i--){int cnt = 0;  vector<int> ans;for(int j = i;j <= max_a;j+=i){if(mp[j]){cnt +=  mp[j];for(int k = 0;k < mp[j] && ans.size() < 3;k++){ans.push_back(j);}if(cnt >= 3){for(int l = 0;l < 3;l++){cout << ans[l] << " ";}return 0;}}}}return 0;
}

相关文章:

蓝桥杯刷题--宝石组合

在一个神秘的森林里&#xff0c;住着一个小精灵名叫小蓝。有一天&#xff0c;他偶然发现了一个隐藏在树洞里的宝藏&#xff0c;里面装满了闪烁着美丽光芒的宝石。这些宝石都有着不同的颜色和形状&#xff0c;但最引人注目的是它们各自独特的 “闪亮度” 属性。每颗宝石都有一个…...

记录一下学习docker的命令(不断补充中)

#2025-04-10,22:12############### 在wsl2中安装了ubuntu24.04.1后有部署了docker&#xff0c; 如果没有启动docker可以通过下列命令启动docker&#xff1a; sudo systemctl start docker 执行下列命令可以看到docker状态&#xff0c;并不占用控制台的命令&#xff1a; su…...

沃伦森电机状态传感器RS-MTS01:智能运维的解决方案

行业工况背景 一、方案背景 在现代工业生产中&#xff0c;电机发挥着至关重要的作用&#xff0c;其运行状况直接关联到生产效率、产品质量以及成本控制。传统的电机维护主要依赖于定期的巡检和事后维修&#xff0c;这种方式难以提前发现潜在的故障隐患&#xff0c;容易导致意外…...

设计模式:单例模式

复习一下&#xff1a; 单例模式&#xff08;Singleton Pattern&#xff09; 原理&#xff1a; 单例模式确保一个类只有一个实例&#xff0c;并提供一个全局访问点来获取这个实例。它通过将类的构造函数设为私有&#xff0c;防止外部代码直接实例化该类。同时&#xff0c;提供…...

电商素材革命:影刀RPA魔法指令3.0驱动批量去水印,实现秒级素材净化

本文 去除水印实操视频展示电商图片水印处理的困境​影刀 RPA 魔法指令 3.0 强势登场​利用魔法指令3.0两步实现去除水印操作关于影刀RPA 去除水印实操视频展示 我们这里选择了4张小红书里面比较帅气的图片&#xff0c;但凡用过小红书的都知道&#xff0c;小红书右下角是会有小…...

解析 WebSocket 协议的基本原理

随着互联网的快速发展&#xff0c;Web 应用对实时通信的需求越来越高。传统的 HTTP 协议无法满足实时性的要求&#xff0c;而 WebSocket 协议则应运而生。WebSocket 是一种新型的协议&#xff0c;允许在一个单独的持久连接上进行全双工的通信&#xff0c;提供了更高效、实时的数…...

学生管理系统(Python)

运行结果&#xff1a; 源代码&#xff1a; """ 项目&#xff1a;类似于学生管理系统---增删改查 """ #封装一个学生类 import random class Student: def __init__(self,stuid,name,score): self.stuid stuid self.name name self.score …...

Java抽象类:深入理解与应用

一、引言 在Java的面向对象编程中&#xff0c;抽象类&#xff08;Abstract Class&#xff09;是一个非常重要的概念。它允许我们定义一个类&#xff0c;该类中包含一些抽象方法和非抽象方法&#xff0c;但自己不能被实例化。抽象类主要用于创建类的层次结构&#xff0c;并为子…...

下垂控制的定义与应用解析

下垂控制&#xff08;Droop Control&#xff09;是一种广泛应用于微电网、逆变器及分布式电源系统的控制策略&#xff0c;其核心思想是通过模拟传统同步发电机的下垂特性&#xff0c;实现电力系统中电压、频率的稳定以及功率的合理分配。以下是其关键解释及参考依据&#xff1a…...

oracle 并行度(Parallel Degree)

在Oracle数据库中&#xff0c;并行度&#xff08;Parallel Degree&#xff09; 是用于控制并行处理任务的关键配置&#xff0c;旨在通过多进程协作加速大规模数据处 一、并行度的核心概念 并行度&#xff08;DOP, Degree of Parallelism&#xff09; 表示一个操作同时使用的并…...

轻量级碎片化笔记memos本地NAS部署与跨平台跨网络同步笔记实战

文章目录 前言1. 使用Docker部署memos2. 注册账号与简单操作演示3. 安装cpolar内网穿透4. 创建公网地址5. 创建固定公网地址 推荐 ​ 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。 点击跳转到网站 前言…...

心有猛虎,细嗅蔷薇

2025年4月10日&#xff0c;13~28℃&#xff0c;还好 待办&#xff1a; 融智云考平台《物理》《物理2》《地理》《地理1》重修试卷 冶金《物理》课程标准 教学技能大赛PPT教案 遇见&#xff1a;网友过得挺好的。 感受&#xff1a;和网友说话还是不错的。 反思&#xff1a;无。 …...

借助DeepSeek开启学术写作高效通道

摘要 在学术研究领域&#xff0c;撰写高质量论文是研究者成果展示与学术交流的关键环节。然而&#xff0c;传统论文写作过程复杂&#xff0c;常使研究者面临诸多挑战。随着人工智能技术的发展&#xff0c;DeepSeek等工具为论文写作带来新契机。本文深入剖析利用DeepSeek进行论文…...

interrupt子系统中的数据结构

我们接着上一篇&#xff0c;开始真正的interrupt子系统&#xff1a; 现在有一个共享的中断&#xff0c;网卡跟开关共享同一个gpio中断&#xff0c;然后当触发中断的时候&#xff0c;GIC会发信号给CPU&#xff0c;告诉他已经发生了中断了&#xff0c;然后CPU会去读取GIC里面的寄…...

本地浏览器运行服务器jupyter文件

之前不知道要设置密码 一直登不上 远程linux服务器中安装jupyter通过本地浏览器访问使用_服务器jupyter 本地浏览器访问-CSDN博客...

P1331 洛谷 海战

题目描述 思路 这个题需要读懂题意&#xff0c;即“什么样的形式表示两只船相撞&#xff1f;” ----> 上下相邻或左右相邻 如果图是不和法的&#xff0c;一定存在如下结构&#xff1a; # # . # 或 # # # . 或 # . # # 或 . # # #即四个格子里有三个#&#xff0c;一个"…...

如何开发iOS辅助工具?iOS按键精灵帮你实现

强大的辅助工具可以支持自动化操作&#xff0c;轻松实现一键点击、滑动、输入等操作&#xff0c;无论是游戏挂机、日常任务还是批量处理&#xff0c;都能高效完成。 在按键精灵中针对新手用户和资深开发作者都有路径实现游戏的任务点击。 新手用户推荐使用录制功能以及连点器…...

数据可视化 —— 柱形图应用(大全)

一、案例一&#xff1a;单柱形图 1.导入库 import matplotlib.pyplot as plt import pandas as pd import numpy as np 2.给窗口名称和画布大小 plt.figure(num单柱形图, figsize(6, 4), facecolorw) 3.定义x、y轴的数据 # range(0-4) x np.arange(5) # 创建数组 y1 np.a…...

NLP高频面试题(三十九)——什么是大模型的涌现能力?

在人工智能领域,随着模型规模的扩大,研究人员观察到大型语言模型会展现出一些在小型模型中未曾出现的全新能力,这种现象被称为涌现能力。这些能力并非通过特定编程或训练目标直接获得,而是在模型参数和训练数据达到一定规模后自发出现的。 为什么会产生涌现能力? 涌现能…...

课程发布|ROS+PX4固定翼无人机仿真开发课程

课程链接&#xff08;限时优惠&#xff09;&#xff1a; ROSPX4固定翼无人机仿真开发课程https://www.bilibili.com/cheese/play/ss131501135...

使用 VcXsrv 在 Windows 10 上运行 Ubuntu 图形界面

VcXsrv 是一款用于 Windows 的开源 X 服务器&#xff0c;它允许在 Windows 系统上显示 Linux 的图形应用程序。当在 Windows 10 上安装并正确配置 VcXsrv 后&#xff0c;通过设置 WSL2 中的DISPLAY环境变量&#xff0c;使其指向运行 VcXsrv 的 Windows 主机的 IP 地址&#xff…...

Java中的参数是值传递还是引用传递?

在java中&#xff0c; 参数传递只有值传递 ,不论是基本类型还是引用类型。 其中的区别在于&#xff1a; 基本数据类型&#xff08;如byte&#xff0c;short&#xff0c;int等&#xff09;&#xff1a;传递的参数是值的副本&#xff0c;即基本类型的数值本身。因此在方法中&am…...

SD教程|AI绘画软件Stable Diffusion的Lora模型详解与使用教程

一、引言 在[AI绘画 领域&#xff0c;StableDiffusion作为一种强大的文本到图像的生成模型&#xff0c;已经吸引了众多艺术家和爱好者的关注。而Lora&#xff08;Low-RankAdaptation&#xff09;模型作为StableDiffusion的一个重要扩展&#xff0c;进一步提升了模型的微调效率…...

矢量网络分析仪测试S参数注意事项

正式测试S参数之前一定要先校准 测量1个端口时&#xff0c;校准步骤如下&#xff1a; 开路&#xff08;Open&#xff09;&#xff1b; 短路&#xff08;Short&#xff09;&#xff1b; 负载&#xff08;Load&#xff09;。 测试2个端口时&#xff0c;校准步骤如下&#xff1a; …...

模拟-与-现实协同训练:基于视觉机器人操控的简单方法

25年3月来自 UT Austin、Nvidia、UC Berkeley 和纽约大学的论文“Sim-and-Real Co-Training: A Simple Recipe for Vision-Based Robotic Manipulation”。 大型现实世界机器人数据集在训练通才机器人模型方面拥有巨大潜力&#xff0c;但扩展现实世界人类数据收集既耗时又耗资…...

期权与期货的在险价值

在险价值&#xff08;Value at Risk&#xff0c;VaR&#xff09; 在险价值&#xff08;Value at Risk&#xff0c;VaR&#xff09;是指在一定概率水平 α % \alpha\% α%&#xff08;置信水平&#xff09;下&#xff0c;某金融资产或资产组合的价值在未来特定时期&#xff08…...

消防设施操作员证书用途有哪些

消防设施操作员证书是国家职业资格证书之一&#xff0c;持有该证书表明具备从事消防设施操作、监控、维护等工作的专业资格。其具体用途和重要性如下&#xff1a; 一、主要用途 就业准入资格 根据《消防法》及相关规定&#xff0c;从事消防控制室值班、消防设施操作与维护等…...

【C++ 内存管理】静态分配和动态分配

文章目录 1.静态分配2.动态分配3.对静态分配和动态分配理解4.析构函数调用顺序5.new[ ] 为什么会多申请内存呢&#xff1f; 1.静态分配 定义&#xff1a; 在编译阶段确定内存大小和生命周期&#xff0c;由编译器自动分配和释放。 特点&#xff1a; ①分配时机&#xff1a;程序…...

基于autokeras的简单天气预报例子和运行输出

import numpy as np from autokeras import StructuredDataClassifier from sklearn.model_selection import train_test_split from sklearn.preprocessing import StandardScaler # 模拟数据 np.random.seed(0) n_samples 1000 X np.random.rand(n_samples, 3…...

云服务器的入门了解

首先&#xff0c;用户可能对云计算和云服务器的基本概念不太清楚&#xff0c;需要先做一个简单易懂的定义&#xff0c;避免使用太多技术术语。接下来&#xff0c;要说明云服务器和传统物理服务器的区别&#xff0c;强调云服务器的优势&#xff0c;比如弹性扩展、按需付费等。 然…...

Navicat连接远程PostGreSQL失败

问题描述 使用本地Navicat连接Windows远程服务器上部署的PostGreSQL数据库时,出现以下错误: 解决方案 出现以上报错信息,是因为PostGreSQL数据库服务尚未设置允许客户端建立远程连接。可做如下配置, 1. 找到PostGreSQL数据库安装目录下的data子文件夹,重点关注:postgres…...

经济金融最优化:从理论到MATLAB实践——最大利润问题全解析

内容摘要 本文聚焦经济金融领域的最大利润问题&#xff0c;深入探讨不考虑销售影响和考虑销售影响两种情形下的利润最大化模型柯布 - 道格拉斯生产函数等理论构建与求解。 关键词&#xff1a;经济金融&#xff1b;最大利润问题&#xff1b;柯布-道格拉斯生产函数 1. 引言 在…...

“AI工业革命2.0”:大语言模型驱动的行业再造浪潮

📝个人主页🌹:慌ZHANG-CSDN博客 🌹🌹期待您的关注 🌹🌹 一、引言:从“工具”到“力量”的跃迁 当人工智能步入大模型时代,尤其以ChatGPT、DeepSeek、Grok 等为代表的大语言模型不断刷新人类对智能的认知边界,它们不再只是工具,而是逐步变成了行业逻辑的重构力…...

AI日报 - 2025年4月11日

&#x1f31f; 今日概览(60秒速览) ▎&#x1f916; 模型突破 | 学术界发布5B模型生成1分钟连贯视频&#xff1b;Pokemon AI达人类水平&#xff1b;Kimi-VL开源&#xff1b;Llama-Nemotron-Ultra 253B发布&#xff1b;Google Gemini长文本处理达200万token。 ▎&#x1f4bc; 商…...

企业安全用电 智能物联网断路器 功能参数介绍

安科瑞刘鸿鹏 摘要 随着城市化和智能化建设的不断推进&#xff0c;现代建筑对用电系统的安全性、可视化管理和智能化控制提出了更高的要求。传统空气开关已无法满足当前电力系统对故障预警、远程控制及能效管理的复杂需求。本文结合安科瑞ASCB2LE125系列物联网漏电断路器的功…...

python:all列表

1.all列表的说明&#xff1a; 当模块中有__all__变量时&#xff0c;当使用from xxx import *时&#xff0c;只能导入这个列表中的元素。 2.具体的例子&#xff1a; 1.先创建一个模块my_mod,在列表__all__中分别写入第一次只写入test1&#xff0c;第二次写入test1、test2两个…...

ctfshow VIP题目限免 js敏感信息泄露

根据题目提示是 js 敏感信息泄露&#xff0c;那我就右键查看源代码看看能不能发现 js 文件 访问这个 js 文件 发现了“玩101分给你flag”的源码&#xff0c;还有一段密文&#xff0c;找个在线网站解密一下&#xff08;解码UTF16成文字转换器在线&#xff09; 这句话的意思是去…...

git 提交空文件夹

git 提交空文件夹 方法1&#xff1a;使用 .gitkeep 文件 touch path/to/empty/folder/.gitkeep git add path/to/empty/folder/.gitkeep git commit -m "Add .gitkeep to track empty folder"...

QT中怎么隐藏或显示最大化、最小化、关闭按钮

文章目录 方法一&#xff1a;通过代码动态设置1、隐藏最大化按钮2、隐藏最小化按钮3、隐藏关闭按钮方法 1&#xff1a;移除 WindowCloseButtonHint方法 2&#xff1a;使用 Qt::CustomizeWindowHint 并手动控制按钮 4、同时隐藏最大化和最小化按钮5、同时隐藏最大化和关闭按钮6、…...

数据结构与算法-动态规划-线性动态规划,0-1背包,多重背包,完全背包,有依赖的背包,分组背包,背包计数,背包路径

动态规划原理 动态规划这玩意儿&#xff0c;就好比是在拓扑图上玩跳格子游戏。在图论中&#xff0c;咱们是从特定的节点跳到其他节点&#xff1b;而在动态规划里呢&#xff0c;我们是从一个状态 “嗖” 地转移到另一个状态。状态一般用数组来表示&#xff0c;就像 f [i][j]&am…...

前端-Vue2组件化编程

什么是组件 组件的定义-实现应用中局部功能代码和资源的集合 非单文件组件 非单文件组件&#xff1a; 一个文件中包含有n个组件。 单文件组件&#xff1a; 一个文件中只包含有1个组件。 基本使用 介绍 Vue中使用组件的三大步骤&#xff1a; 一、定义组件(创建组件) 二、…...

[leetcode]01背包问题

一.问题描述 01背包问题是一个经典的组合优化问题&#xff0c;属于动态规划算法的典型应用场景。其问题描述如下&#xff1a; 有一个容量为C的背包&#xff0c;以及 n 个物品&#xff0c;每个物品都有重量w[i] 和价值 v[i]。要求在有限的背包容量下选择一些物品放入背包&#…...

洛谷刷题Day1——P1706+P1157+P2089+P3654

目录 1. P1706 全排列问题题目描述输入格式输出格式输入输出样例 #1输入 #1输出 #1 说明/提示代码 2. P1157 组合的输出题目描述输入格式输出格式输入输出样例 #1输入 #1输出 #1 代码 3. P2089 烤鸡题目背景题目描述输入格式输出格式输入输出样例 #1输入 #1输出 #1 说明/提示代…...

游戏引擎学习第214天

总结并为当天的任务做好准备 昨天&#xff0c;我们将所有调试控制代码迁移到使用新的调试接口中&#xff0c;但我们没有机会实际启用这些代码。我们做了很多准备工作&#xff0c;比如规划、将其做成宏、并将其放入调试流中&#xff0c;但实际上我们还没有办法进行测试。 今天…...

算法题型讲解

一.双指针 主要分为俩种类型&#xff1a; 1.左右指针&#xff1a;双指针指向开头&#xff0c;以一定标准移动或交换&#xff0c;对区域进行划分&#xff0c;或找到特殊点的位置 &#xff08;如&#xff1a;快慢指针判断有无环&#xff0c;移动零&#xff09; 2.对撞指针&am…...

Qt零散知识点

Qt零散知识点 Qt优点 跨平台接口简单&#xff0c;易上手一定程度上简化了内存的回收 Qt创建新项目 第一个窗口类默认的三个基类 QWidgetQMainWindowQDialog 其中QWidget是QMainWindow和QDialog的基类 一个Qt项目默认创建的文件 main.cpp 入口函数pro文件&#xff1a;工…...

算法导论(递归回溯)——⼆叉树中的深搜

算法思路&#xff08;129&#xff09; 前序遍历遵循“根节点、左子树、右子树”的顺序遍历二叉树的所有节点&#xff0c;常用于解决子节点状态依赖于父节点状态的问题。 算法思路&#xff1a; 在前序遍历的过程中&#xff0c;我们可以将信息从节点向左右子树传递&#xff0c…...

UE像素流发布linux并进行容器化部署

一、宿主机软硬件要求 主要需要关注两部分&#xff1a;对像素流的支持、对linux容器的支持。 1、像素流要求&#xff1a; https://dev.epicgames.com/documentation/zh-cn/unreal-engine/unreal-engine-pixel-streaming-reference?application_version5.3 2、linux容器要求…...

arco-design-vue:给<a-table>组件每一行添加data-id属性,并根据id数组是否包含此行id进行样式处理

场景需求&#xff1a; 需要支持框选&#xff0c;框住的行需要更改背景色来标识选中了。如下图所示 【shiftq】表示【加入】&#xff0c;【shiftw】表示【移除】 拆分要实现的功能&#xff1a; 1.框选&#xff0c;选中行数据 2.选中行之后&#xff0c;当前行的样式要有所改变 …...

为什么ChatGPT选择SSE而非WebSocket?

为什么ChatGPT选择SSE而非WebSocket&#xff1f; 一、ChatGPT回答问题的技术逻辑 ChatGPT的响应生成基于Transformer架构和自注意力机制&#xff0c;其核心是通过概率预测逐词生成文本。当用户输入问题后&#xff0c;模型会先解析上下文&#xff0c;再通过预训练的庞大语料库…...