[MST]JZOJ 5888 GCD生成树

news/2024/7/16 10:24:03

Description

 

Input

Output

 

Sample Input

5
5 6 7 10 21

Sample Output

17
 

Data Constraint

 

Hint

分析

随便搞一个最大生成树就好了

并查集优化,用个Rev数组记录编号

 

#include <iostream>
#include <cstdio>
using namespace std;
const int N=1e5+10;
int rev[N],a[N],f[N];
int n,mxn;
long long ans;

int Get_F(int x) {return x==f[x]?x:f[x]=Get_F(f[x]);}

int main() {
    freopen("gcd.in","r",stdin);
    freopen("gcd.out","w",stdout);
    scanf("%d",&n);
    for (int i=1;i<=n;i++) {
        scanf("%d",&a[i]);mxn=max(mxn,a[i]);
        if (!rev[a[i]]) f[i]=rev[a[i]]=i; else ans+=a[i];
    }
    for (int i=mxn;i;i--) {
        int x=0;
        for (int j=1;i*j<=mxn;j++)
        if (rev[i*j]) {
            int y=Get_F(rev[i*j]);
            if (!x) x=y;
            else {
                if (x==y) continue;
                ans+=i;f[y]=x;
            }
        }
    }
    printf("%lld",ans);
}
View Code

 

转载于:https://www.cnblogs.com/mastervan/p/9787795.html


http://www.niftyadmin.cn/n/1978316.html

相关文章

vs2017使用intel mkl库的设置

安装包&#xff1a; 主要是配置&#xff1a; 新建一个c项目&#xff0c;依次配置&#xff1a; 方法一&#xff1a; VC目录->可执行目录&#xff1b;VC目录->包含目录&#xff1b;VC目录->库目录&#xff1b;链接器->附加依赖项。 具体的配置内容如图所示&#xff1…

多个koa中间件执行顺序

多个中间件执行顺序 多个中间件会形成一个栈结构&#xff08;middle stack&#xff09;&#xff0c;以"先进后出"&#xff08;first-in-last-out&#xff09;的顺序执行。 最外层的中间件首先执行。调用next函数&#xff0c;把执行权交给下一个中间件。 ...最内层的中…

C语言在VS2017编译器下实现复数的运算(自编自定义函数)

VS2017编译器关于C语言下&#xff0c;对复数的运算并不支持&#xff0c;利用complex.h头文件并不适用&#xff0c;通过自编的子函数&#xff0c;实现一般性的复数计算&#xff0c;精度与Matlab软件下对比&#xff0c;精度一致。 一、头文件ComplexCalculation.h&#xff0c;用于…

CMMI 的名词解释。。。

什么是过程&#xff1f;过程是为指定目标的一系列执行的步骤什么是过程改进&#xff1f;过程改进是为了帮助商业目标的实现而不是为了改进而改进杠杆的支点&#xff1a;过程[产品的成本地、进度和质量的关键决定因素]CMMI:C-Capability 能力M-Maturity 成熟度…

云中漫步:信息安全的共同体之路

云计算是全球信息行业的热潮&#xff0c;从搜索到信息化、从存储到电子商务…..几乎是信息产业的每一个细分领域都在努力推广自己的云计算应用方式和独特理解。百度的李彦宏不失时机地抛出了“框计算”的概念&#xff0c;大言不惭地称其为超越云计算的“另一个学派”。在这篇纷…

地学Hecter时间序列软件安装及配置及使用教程

Hector可以利用时间相关噪声估计时间序列线性趋势。趋势估计是地球物理研究中的一项常见任务&#xff0c;人们对温度、海平面和位置随时间的上升等现象感兴趣。众所周知&#xff0c;在大多数地球物理时间序列中&#xff0c;噪声在时间上是相关的&#xff0c;这对估计线性趋势的…

可以添加的白名单

入口&#xff1a;管理员登录—配置管理—白名单管理 是否启用微信扫码下单&#xff1a;微信扫二维码可以进行扫码下单/在线点餐 目前已经全部商家可用&#xff0c;不需要再添加白名单 转载于:https://www.cnblogs.com/yhbc-blibao/p/9796604.html

Brocade 4Gb SAN 交换机 - 如何配置 Zone

在HP Blade 4/12 san switch 上如何配置Zone Solution 本文章是使用命令行方式来配置san switch&#xff0c;首先用超级终端或者ssh登录到OA上&#xff0c;并执行connect interconnect switch_bay_number&#xff0c;进入到san switch的字符配置界面。 查看zone配置 用cfgsho…