首页 > 其他分享 >abc214D 全部路径最大边权之和

abc214D 全部路径最大边权之和

时间:2024-03-16 14:56:04浏览次数:28  
标签:abc214D sz rep int 边权 路径 fa leader

给定一颗包含n个顶点的树,第i条边连接u[i]和v[i],边权为w[i]。记f(i,j)表示顶点i到j的简单路径上边权的最大值,求 $ \sum_{i=1}^{n-1} \sum_{j=i+1}^{n}f(i,j) $。
2<=n<=1e5; 1<=u[i],v[i]<=n; 1<=w[i]<=1e7

对于每条边,考虑以它作为最大边权的路径数,为两侧节点数的乘积,数点可以用并查集维护,需要按边权从小到大的顺序处理。

#include <bits/stdc++.h>
using namespace std;
#define int long long
#define rep(i,a,b) for(int i=a;i<=b;i++)
#define per(i,a,b) for(int i=b;i>=a;i--)

const int N = 100005;
int n, fa[N], sz[N];
tuple<int,int,int> e[N];
int leader(int x) {
    return x == fa[x] ? x : fa[x] = leader(fa[x]);
}
void join(int x, int y) {
    x = leader(x);
    y = leader(y);
    if (x != y) {
        sz[x] += sz[y];
        fa[y] = x;
    }
}
void solve() {
    cin >> n;
    rep(i,1,n-1) {
        int u, v, w;
        cin >> u >> v >> w;
        e[i] = {w, u, v};
    }
    sort(e+1, e+n);
    rep(i,1,n) fa[i] = i, sz[i] = 1;
    int ans = 0;
    rep(i,1,n-1) {
        auto [w,u,v] = e[i];
        u = leader(u);
        v = leader(v);
        ans += w * sz[u] * sz[v];
        join(u, v);
    }
    cout << ans << "\n";
}

signed main() {
    cin.tie(0)->sync_with_stdio(0);
    int t = 1;
    while (t--) solve();
    return 0;
}

标签:abc214D,sz,rep,int,边权,路径,fa,leader
From: https://www.cnblogs.com/chenfy27/p/18077062

相关文章

  • Node.js配置(需要修改默认缓存路径的可看)
    Node.js配置针对想要移除默认node位置的配置设置安装node进入node中文网下载|Node.js中文网(nodejs.cn)一般选择左边的版本,为稳定版本这里也给出官网,中文网只是国内镜像官网的不是官方的源安装过程可以无脑下一步,注意修改存储位置就行在cmd面板分别输入以下内容,可......
  • 代码随想录算法训练营第day17|110.平衡二叉树 、 257. 二叉树的所有路径 、404.左叶子
    目录a.110.平衡二叉树b.257.二叉树的所有路径 c.404.左叶子之和a.110.平衡二叉树力扣题目链接(opensnewwindow)给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点的左右两个子树的高度差的绝对值不超过1。示例1......
  • “遥感+”多技术融合:碳排放监测的创新路径“
    在全球环境问题日益严重的今天,以全球变暖为主要特征的气候变化成为了人类面临的巨大挑战。它威胁着地球的生态平衡,对全球可持续发展构成了严峻的挑战。为了应对这一挑战,各国纷纷采取行动,致力于实现碳达峰和碳中和的目标。在这样的背景下,卫星遥感技术凭借其独特的优势,在监测......
  • 近屿智能成功完成A轮融资,打造独家AIGC工程师与产品经理学习路径图引发热议
    近屿智能OJAC的发展历程与行业实力在2024年1月,上海近屿智能科技有限公司(简称近屿智能)宣布成功完成A轮融资。智望资本作为领头投资者,金沙江创投也参与了增资。这一里程碑事件不仅突显了近屿智能在人力资源技术领域的领先地位,也显示了投资者对其技术实力和市场前景的坚定信心。作......
  • 257. 二叉树的所有路径c
    /***Definitionforabinarytreenode.*structTreeNode{*intval;*structTreeNode*left;*structTreeNode*right;*};*//***Note:Thereturnedarraymustbemalloced,assumecallercallsfree().*/chartemp[200]={0};v......
  • 数字孪生与智慧城市:实现城市治理现代化的新路径
    随着信息技术的迅猛发展,智慧城市已成为城市发展的必然趋势。数字孪生技术作为智慧城市建设的重要支撑,以其独特的优势为城市治理现代化提供了新的路径。本文将探讨数字孪生技术在智慧城市中的应用,以及如何实现城市治理的现代化。一、数字孪生技术的概念及其在城市治理中的应用......
  • 启动文件,导包路径,路径,正确写法
    起因我启动的是resource_chat_push_server_2.py文件,报错了,不错结果,debuger,发现路径文件,改成解决!总结如果启动那个文件,./表示这个文件的所在级目录。导入的库如果有文件路径引用,以启动文件为./......
  • (笔记)FPGA多周期路径及set_multicycle_path详解
    默认情况下综合工具会把每条路径定义为单周期路径,即源触发器在时钟的任一边沿启动(launch)的数据都应该由目的触发器在时钟的下一上升沿捕获(capture)。有的设计可能存在时序例外(timingexceptions),如多周期路径、虚假路径等。数据从起点到终点的传输时间需要一个时钟周期以上才能稳定......
  • 【BFS二叉树】113路径总和II
    113路径总和II给你二叉树的根节点root和一个整数目标和targetSum,找出所有从根节点到叶子节点路径总和等于给定目标和的路径。思路:题目最终输出的是路径,因此用BFS遍历的时候,需要记录走到每个节点的路径;又因为路径和是要等于某个目标值的,因此也需要记录目标和。⇒......
  • 关于Sql server数据类型HierarchyID 数据类型用法和递归显示完整路径
    SQLServer2008版本之后的新类型HierarchyID不知道大家有没有了解,该类型作为取代id,parentid的一种解决方案,让人非常惊喜。官方给的案例浅显易懂,但是没有实现我想要的基本功能,树形结构中完整名称路径的展示。本文末尾是一个完整路径的样例,需要更多基本操作可以参考文末微软链......