news 2026/8/27 6:57:43

小红的gcd【牛客tracker 每日一题】

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
小红的gcd【牛客tracker 每日一题】

小红的gcd

时间限制:1秒 空间限制:256M

网页链接

牛客tracker

牛客tracker & 每日一题,完成每日打卡,即可获得牛币。获得相应数量的牛币,能在【牛币兑换中心】,换取相应奖品!助力每日有题做,丰盈牛币日益多!

题目描述

小红有一个长度为n nn的数组,她希望数组元素之和越少越好。
她可以进行任意次操作,每次选择数组中的两个元素a i a_iai​ 和a j a_jaj,令a i = a j = g c d ⁡ ( a i , a j ) a_i=a_j=gcd⁡(a_i,a_j)ai=aj=gcd(ai,aj)
所有操作结束后,请你输出最小的数组元素之和。

输入描述:

第一行有一个整数n ( 1 ≤ n ≤ 10 5 ) n ( 1≤n≤10^5 )n(1n105)
第二行有n nn个整数a i ( 1 ≤ a i ≤ 10 9 ) a_i ( 1≤a_i≤10^9 )ai(1ai109)

输出描述:

输出一个整数,代表最小的数组元素之和 。

示例1

输入:

5 2 4 6 8 10

输出:

10

解题思路

核心先推导操作的本质规律,每次将两个数替换为其最大公约数的操作,可不断缩小数组元素值,且所有操作后数组所有元素的公共约数始终等于原数组的整体最大公约数g gg,而通过任意次操作能将所有元素都变为g(这是操作后能得到的最小元素值,无法比整体g c d gcdgcd更小);因此解题时只需遍历数组计算所有元素的整体g c d gcdgcd,若n = 1 n=1n=1则最小和为数组唯一元素,否则最小和为n nn乘以该整体g c d gcdgcd;该方法遍历求整体g c d gcdgcd的时间复杂度为O ( n log ⁡ m a x ( a i ) ) O(n \log max(a_i))O(nlogmax(ai)),无任何冗余计算,完美适配n ≤ 1 e 5 、 a i ≤ 1 e 9 n≤1e5、a_i≤1e9n1e5ai1e9的规模,直接通过整体g c d gcdgcd推导最小和,精准满足“元素之和越少越好”的要求。

代码内容

#include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;typedefunsignedlonglongull;typedefpair<ll,ll>pii;constll p=1e9+7;constll N=1e6+10;intmain(){ll n;cin>>n;vector<ll>a(n+1,0);for(ll i=1;i<=n;i++){cin>>a[i];a[1]=gcd(a[i],a[1]);}cout<<n*a[1]<<endl;return0;}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/24 14:54:19

高效便捷JAVA汽车保养同城服务新选择

JAVA汽车保养同城服务通过跨平台协同、智能调度、数据安全保障及创新功能&#xff0c;为用户提供高效便捷的一键触达体验&#xff0c;成为同城汽车养护的新选择。 以下是具体分析&#xff1a; 一、技术架构&#xff1a;跨平台无缝衔接&#xff0c;支撑高并发场景 多端协同 Jav…

作者头像 李华
网站建设 2026/8/24 21:54:24

为什么 LLMs 不适合编码——第二部分

原文&#xff1a;towardsdatascience.com/llms-coding-software-development-artificial-intelligence-68f195bb2ad3 https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/6bdf5bb5eaa3bc463054d27af6866c00.png 自制图像。 在发布本系列的第…

作者头像 李华
网站建设 2026/8/26 0:28:27

去哪儿StarRocks实践

一、业务背景 去哪儿网的数据平台为了满足各业务线的看数、取数、用数需求&#xff0c;沉淀出多种数据产品&#xff0c;包括QBI看板、质检系统、即席/SQL分析、趣分析、离线圈人、实时营销等。这些数据产品依赖于多种计算引擎和数据存储来满足不同的业务场景需求。例如&#x…

作者头像 李华
网站建设 2026/8/21 10:04:24

24.AD7616驱动 fpga程序设计思路

1.信号功能拆解CONVST&#xff1a;上升沿启动 A/D 转换&#xff0c;需要 FPGA 主动输出一个脉冲。BUSY&#xff1a;芯片转换完成的状态反馈&#xff0c;FPGA 需要作为输入引脚&#xff0c;检测其下降沿来启动后续的串行传输。CS&#xff1a;低电平有效&#xff0c;在 BUSY 变低…

作者头像 李华
网站建设 2026/8/22 22:47:18

基于微信小程序的个性化漫画阅读推荐系统的设计与实现

本文精心设计并成功实现一个依托微信小程序的个性化漫画阅读推荐系统。在当下&#xff0c;移动互联网技术不断发展演进&#xff0c;线上漫画阅读市场随之愈发繁荣起来&#xff0c;与此同时&#xff0c;用户对于个性化阅读体验的需求也在一天天不断增加。该系统在后端的构建上采…

作者头像 李华