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

蓝桥杯15届 宝石组合

问题描述

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

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

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

输入格式

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

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

输出格式

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

样例输入

5
1 2 3 4 9

样例输出

1 2 3

评测用例规模与约定

对于 30% 的评测用例:3≤N≤100,1≤Hi≤1000 。

对于 60%的评测用例:3≤N≤2000 。

对于 100% 的评测用例:3≤N≤10^{5},1≤Hi≤10^{5} 。

1.化简公式

①根据公式直接化简:

②推导:

(下面Ha、Hb、Hc表示为H1、H2、H3)

将H1、H2、H3表示成数字相乘的形式,a为H1、H2、H3的最大公约数,b为H1、H2的最大公约数,c为H1、H3的最大公约数,d为H2、H3的最大公约数,efg是H1、H2、H3各自的一部分

H1=abce   H2=abdf   H3=acdg

S=a^{3}b^{2}c^{2}d^{2}efg*\frac{abcdefg}{abcde*abcdeg*abcdfg}=a

最后的结果就是这三个数的最大公约数

25分代码:(暴力)

#include<iostream>
#include<algorithm>
using namespace std;

const int N = 1e5+10;
int n, a[N];
int max1;  //max 是标准库 <algorithm> 中定义的一个函数模板
int ans[3];

int main()
{
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	
	cin>>n;
	for(int i=1; i<=n; ++i) cin>>a[i];
	
	for(int i=1; i<=n; ++i)
	{
		for(int j=i+1; j<=n; ++j)
		{
			for(int k=j+1; k<=n; ++k)
			{
				if(i!=j && j!=k && i!=k)
				{
					int temp = __gcd(a[i], __gcd(a[j], a[k]));
					if(temp > max1)
					{ 
						max1 = temp;
						ans[0]=a[i], ans[1]=a[j], ans[2]=a[k];
					}
				}
			}
		}
	}
	sort(ans, ans+3);
	cout<<ans[0]<<" "<<ans[1]<<" "<<ans[2];
	
	return 0;
} 

http://www.dtcms.com/a/112039.html

相关文章:

  • 【HC-05蓝牙模块】基础AT指令测试
  • 思维链 Chain-of-Thought(COT)
  • 视野,,地面覆盖,重叠需求,FPS,飞行速度等的计算公式
  • LLM面试题五
  • JVM 有哪些垃圾回收器
  • 【2023】ORIGIN或MATLAB 颜色图,等高图,颜色条——需要拟合补全中间的颜色
  • 算法--最长上升子序列
  • 京东零售首次公开!6B参数时序大模型实现20000款商品自动补货预测
  • Java 搭建 MC 1.18.2 Forge 开发环境
  • 《探索边缘计算:重塑未来智能物联网的关键技术》
  • agent 入门
  • ARM-外部中断,ADC模数转换器
  • Vue3学习二
  • 【Node】一文掌握 Express 的详细用法(Express 备忘速查)
  • 【面试篇】Mysql
  • DHCP之中继 Relay-snooping及配置命令
  • Python_level1_字符串_11
  • 给项目中的用户头像,添加用户的历史头像记录功能
  • 深入理解SQL中的<>运算符:不等于的灵活运用
  • C++20的协程简介
  • 轨迹速度聚类 实战
  • 【C++代码整洁之道】第九章 设计模式和习惯用法
  • VSCode运行,各类操作缓慢,如何清理
  • anaconda3/conda依赖安装、环境配置、关联指定python版本
  • 性能测试之jmeter的基本使用
  • [C++面试] new、delete相关面试点
  • 从软件分层架构视角理解英语学习
  • 为什么有的深度学习训练,有训练集、验证集、测试集3个划分,有的只是划分训练集和测试集?
  • 【YOLO系列(V5-V12)通用数据集-X光包裹内违禁品检测数据集】
  • Java 大视界 -- Java 大数据在智能供应链库存优化与成本控制中的应用策略(172)