码迷,mamicode.com
首页 > 其他好文 > 详细

[CF#250 Div.2 D]The Child and Zoo(并查集)

时间:2015-03-07 00:47:05      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:

题目:http://codeforces.com/problemset/problem/437/D

题意:有n个点,m条边的无向图,保证所有点都能互通,n,m<=10^5

每个点都有权值,每条边的权值定义为这条边连接两点的权值中的最小值。

f(p,q)表示p到q的路径中边权的最小值,如果有多条路经,就取每条路径最小值中的最小值

要求的就是对于所有1<=p<=n,1<=q<=n,p≠q,f(p,q)的平均值

分析:

刚开始是想考虑每条边对总和的贡献,结果没想通。

一个很巧的办法就是贪心的想法,将所有的边按照从大到小排序,然后加入图中,类似Kruskal算法,易得每次加的边对总和的贡献就是2*两个区域节点数的乘积。这个用带权并查集弄一下就行。

[CF#250 Div.2 D]The Child and Zoo(并查集)

标签:

原文地址:http://www.cnblogs.com/wmrv587/p/4319524.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!