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

走廊泼水节——求维持最小生成树的完全图的最小边权和

题目

思考

代码

#include <bits/stdc++.h>
using namespace std;
const int N = 6010;
const int M = N;
int p[N], sz[N];
struct edge{
    int a;
    int b;
    int c;
    bool operator < (const edge& v) const{
        return c < v.c;
    }
}e[M];
int find(int x)
{
    if(p[x] != x) p[x] = find(p[x]);
    return p[x];
}
int t, n;
int main()
{
    cin >> t;
    while(t--)
    {
        cin >> n;
        for(int i = 1; i <= n; i++)
            p[i] = i, sz[i] = 1;
        for(int i = 1; i <= n-1; i++)
        {
            int a, b, c;
            cin >> a >> b >> c;
            e[i] = {a, b, c};
        }
        sort(e+1,e+n);
        
        int res = 0;
        for(int i = 1; i <= n-1; i++)
        {
            int a = e[i].a, b = e[i].b, c = e[i].c;
            a = find(a), b = find(b);
            if(a == b) continue;
            
            res += (c+1) * (sz[a] * sz[b] - 1);
            sz[b] += sz[a];
            p[a] = b;
        }
        
        cout << res << '\n';
    }
}


http://www.kler.cn/news/365235.html

相关文章:

  • 在PHP中,读取大文件
  • Python爬虫进阶(实战篇一)
  • 安全见闻---清风
  • uniapp 常用的地区行业各种多选多选,支持回显,复制粘贴可使用
  • 【Qt】控件——Qt控件的介绍、QWidget的介绍、QWidget的属性、QWidget的函数
  • 开拓鸿蒙测试新境界,龙测科技引领自动化测试未来
  • HUAWEI_HCIA_实验指南_Lib3.2_配置Trunk接口
  • Spring Boot整合Stripe订阅支付指南
  • 线程池——Java
  • OCR提取影印版PDF文档的中日英三种文字
  • VUE中文本域默认展示最底部内容
  • C++20中头文件ranges的使用
  • 10.25学习
  • opencv 图像翻转- python 实现
  • 网站建设中需要注意哪些安全问题?----雷池社区版
  • 凯伦股份荣获中国钢结构协会2024年度技术创新奖
  • CentOS7上下载安装 Docker Compose
  • springboot社区网格管理系统-计算机毕业设计源码90901
  • MySQL同步到ES的方案选型
  • Uni-App-01
  • 教学资源的数字化:Spring Boot平台开发
  • 推荐一款USB总线调试工具:常用USB总线调试工具2024秋季版(1.1.10.41018 LTSC)
  • [含文档+PPT+源码等]精品基于springboot实现的原生微信小程序小区兼职系统
  • ES操作:linux命令
  • Redis在实践的关键点
  • JavaScript 第27章:构建工具与自动化