hdu 4750 Count The Pairs 最小生成树

简介:

      比赛时候水了,一直打算算出22直接的关系数,然后又要考虑图不连通情况等等,搞了半天还没搞定。

      其实只要一层一层慢慢加就可以了,最后结果离线或者在线处理一下均可以。

      因为最长路的最小值就相当于最小值一个一个添加

贴一下第一个AC队的代码,思路很清晰:

#include <cstdio>
#include<iostream>
#include <algorithm>
using namespace std;
typedef long long ll;
struct edge
{
    int x,y,len;
};
inline bool operator <(const edge &a,const edge &b)
{
    return(a.len<b.len);
}
edge e[500010];
int f[10010],s[10010],a[10010];
ll sum[10010];
int find(int x)
{
    if (x!=f[x])
        f[x]=find(f[x]);
    return(f[x]);
}
int main()
{
    int n,m;
    while (scanf("%d%d",&n,&m)==2)
    {
        for (int i=1;i<=m;i++)
        {
            int x,y,z;
            scanf("%d%d%d",&x,&y,&z);
            e[i].x=x+1,e[i].y=y+1,e[i].len=z;
        }
        sort(e+1,e+m+1);
        for (int i=1;i<=n;i++)
        {
            f[i]=i;
            s[i]=1;
        }
        int tot=0;
        for (int i=1;i<=m;i++)
        {
            int x=find(e[i].x),y=find(e[i].y);
            if (x==y)
                continue;
            a[++tot]=e[i].len;
            sum[tot]=ll(s[x])*s[y];
            f[x]=y;
            s[y]+=s[x];
        }
        for (int i=1;i<=tot;i++)//求和
            sum[i]+=sum[i-1];
        int Q;
        scanf("%d",&Q);
        while (Q--)
        {
            int x;
            scanf("%d",&x);
            int id=lower_bound(a+1,a+tot+1,x)-a;
            printf("%lld\n",(sum[tot]-sum[id-1])*2);
        }
    }
    return(0);
}


目录
相关文章
|
机器学习/深度学习 存储 JSON
chatgpt说它有上千亿的参数,是什么意思?
chatgpt说它有上千亿的参数,是什么意思?
1864 0
|
监控 数据可视化 Devops
Grafana 与云服务提供商的集成
【8月更文第29天】Grafana 是一个强大的数据可视化工具,可以与多种数据源集成,从而为用户提供详细的监控和分析仪表板。在云服务时代,Grafana 的这种灵活性使得它能够轻松地与 AWS、Azure 和 Google Cloud 等云服务提供商的数据源集成,帮助 DevOps 和 SRE 团队更好地监控云资源的状态。本文将介绍如何将 Grafana 与这些主流云服务提供商的数据源集成。
223 1
|
人工智能
AI工具汇总介绍
AI工具汇总介绍
843 0
|
机器学习/深度学习 消息中间件 人工智能
人工智能平台PAI产品使用合集之vLLM是否支持模型长度扩展
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
|
人工智能 自然语言处理 自动驾驶
人工智能伦理:当机器拥有道德决策权
本文探讨了在人工智能技术迅速发展的背景下,如何确保AI系统在执行任务时能够遵循人类的伦理标准。文章首先分析了AI伦理的必要性,接着讨论了构建伦理AI的理论基础和实际应用挑战,最后提出了未来研究方向和建议。通过深入分析,文章旨在为AI技术的健康发展提供指导,确保技术进步与人类价值观的和谐共存。
|
JSON 数据安全/隐私保护 数据格式
钉钉事件订阅的地址需要在钉钉开放平台进行配置
【2月更文挑战第7天】钉钉事件订阅的地址需要在钉钉开放平台进行配置
331 6
|
Python
Python 工具和库:解释什么是 PIP?如何使用 PIP 安装 Python 包?
Python 工具和库:解释什么是 PIP?如何使用 PIP 安装 Python 包?
751 0
|
vr&ar 图形学
【Unity 3D】VR飞机起飞喷火游戏案例实战(附源码和演示视频 超详细)
【Unity 3D】VR飞机起飞喷火游戏案例实战(附源码和演示视频 超详细)
544 0
|
小程序 开发者
关于微信小游戏的备案,你需要的事
关于微信小游戏的备案,你需要的事
599 0
|
关系型数据库 数据库 RDS
值不值买之阿里云RDS
值不值得买,要看你有多需要RDS的高可用、自带备份、在线扩容、主机安全、性能优化、诊断工具。
4269 0
值不值买之阿里云RDS