https://ac.nowcoder.com/acm/contest/874/G

题目大意:对于一个连通图,现在定义两个点的贡献为连接两点的路径上最大的权值 求任意两个点贡献的和

这个题看懂花了我很久的时间 真的难受

由于两个点的贡献是由最大的权值决定的,所以如果我们将边按权值由小到大排列,那么遍历的时候 当前的边一定是目前的最大权值 也就是两个点之间贡献

本题还用到了并查集来维护连通图

具体看代码吧

#include<bits/stdc++.h>
using namespace std;
#define maxn 1000000+1000
#define ull unsigned long long int T,n,p[maxn],sz[maxn];
ull ans;
struct edge
{
int u,v,w;
bool operator<(edge x) //运算符的重载 方便排序
{
return w<x.w;
}
}e[max]; int findset(int x)
{
return (x==p[x]?x:p[x]=findset(p[x])); //并查集
} int main()
{
cin>>T;
while(T--)
{
cin>>n;
for(int i=;i<n;i++)scanf("%d%d%d",&e[i].u,&e[i].v,&e[i].w);
sort(e+,e+n);
for(int i=;i<=n;i++)p[i]=i; //一开始是不连通的 分别标上号
for(int i=;i<=n;i++)sz[i]=; //所在连通图的大小
ans=;
for(int i=;i<n;i++)
{
int u=findset(e[i].u),v=findset(e[i].v);
ans+=(ull)sz[u]*sz[v]*e[i].w; //增加的贡献
sz[u]+=sz[v]; //扩大连通图
p[v]=u; //标记连通图 注意要和上一行呼应 保证整合到同一个图里去
}
cout<<ans<<endl;
}
return ;
}

华南理工大学 “三七互娱杯” G HRY and tree的更多相关文章

  1. 华南理工大学 “三七互娱杯” C HRY and Abaas

    https://ac.nowcoder.com/acm/contest/874/C 题目大意是两人俄罗斯轮盘赌 n个位置 有m个子弹 已知哪些位置上有子弹 子弹打出 游戏结束 求第i次扣动扳机游戏才结 ...

  2. 华南理工大学“三七互娱杯” D HRY and array

    https://ac.nowcoder.com/acm/contest/874/D 题目大意是给定两个数组A和B 数组的元素可以打乱重新排列 然后求∑ni=1 AiBi 的期望 我是这么理解的: 由于 ...

  3. 华南理工大学“三七互娱杯”程序设计竞赛 G: HRY and tree

    题意:给出一棵树,定义两点间代价为两点路径上最长的边权,问任两点间的代价和. 解法:这道题的解法十分巧妙:直接用Kruskal对这棵树求最小生成树,然后对于即将加入到MST的这条边(u,v,w),这条 ...

  4. 华南理工大学“三七互娱杯”程序设计竞赛(重现赛)( HRY and array 高精度除法模板)

    题目链接:https://ac.nowcoder.com/acm/contest/874/D 题目大意:给你两个数列a和b然后对a可以进行排列,对b可以任意排列,问你sigma(a(i)*b(i))的 ...

  5. 华南理工大学“三七互娱杯”程序设计竞赛 HRY and codefire(概率期望DP)

    https://ac.nowcoder.com/acm/contest/874/A 题目:有两个账号 , 一开始都为0级 , 求任意一个账号升级到N的期望 要求:如果当前账号嬴了 , 就继续沿用当前的 ...

  6. 2019 三七互娱java面试笔试题 (含面试题解析)

      本人5年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.三七互娱等公司offer,岗位是Java后端开发,因为发展原因最终选择去了三七互娱,入职一年时间了,也成为了面 ...

  7. 最新 三七互娱java校招面经 (含整理过的面试题大全)

    从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.三七互娱等10家互联网公司的校招Offer,因为某些自身原因最终选择了三七互娱.6.7月主要是做系统复习.项目复盘.Leet ...

  8. 人人,金山西山居,腾讯互娱,微信,网易游戏offer及面经

    转自:http://www.itmian4.com/forum.php?mod=viewthread&tid=3985 首先感谢师兄在两年前发的贴([天道酬勤] 腾讯.百度.网易游戏.华为Of ...

  9. 2017 网易游戏互娱游戏研发4.21(offer)

    网易游戏互娱(offer) 去年这个时候就参加过网易游戏的实习生招聘,到今年总共收到了4次拒信.不过这次运气好,终于get了最想要的offer.去年实习生互娱笔试挂,秋招笔试挂,今年春招互娱投了连笔试 ...

随机推荐

  1. tar命令--数据归档(一)

    虽然zip命令能够很好的将数据压缩和归档到单个文件,蛋挞不是linux 和unix的标准归档工具. ta命令最开始是用来将文件写到磁盘设备上的归档.然而他也能把输出写道文件里. 你会发现这个可选参数是 ...

  2. Gym-100923I-Por Costel and the Pairs(数学,思维)

    链接: https://vjudge.net/problem/Gym-100923I 题意: We don't know how Por Costel the pig arrived at FMI's ...

  3. 原生ajax 请求

    什么是ajax AJAX 是一种用于创建快速动态网页的技术. 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新. 这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新, ...

  4. #python#return和print的一些理解

    https://www.jianshu.com/p/18a6c0c76438 代码 (1) ++++++++++++++++++++++++++++++++++ x = 1y = 2def add ( ...

  5. 算法——二进制解决N皇后(超级酷炫o((>ω< ))o

    先贴代码: public class Solution { void NQueen(int N, int row, int col, int pie, int na, int[] res) { if ...

  6. linux-文件系统-5

    cat /proc/partions cat /proc/mounts mount [options] -o [option] -t 文件类型 设备 挂载目录 设备: (1)设备文件:例如/dev/s ...

  7. Egret Tween

    最近开始接触Egret,其实也就是为了写一些小的特效 1.egret.Tween.get() ,激活一个对象,对其添加 Tween 动画 2.to() ,将指定对象的属性修改为指定值 egret.Tw ...

  8. linq/EF 使用技巧笔记

    先上图 1.linq列转行(如图从上到下,action_type即power字段),其实严格意义上来说,并不是linq,只是用了循环 List<NavigationDto> leaf = ...

  9. sqli-labs(26)

    0X01 测试闭合 单引号报错 双引号不报错 ’闭合 构造语句  过滤了空格和and ?id=' anandd 1=1%23 ?id='+anandd+1=1%23 百度一下 一去看源码 真的顶不住 ...

  10. 尚硅谷Docker---6-10、docker的安装

    尚硅谷Docker---6-10.docker的安装 一.总结 一句话总结: docker的安装使用非常简单,安装的话yum安装epel和docker,使用的话就是docker run命令 1.doc ...