博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UVa 1395 (最小生成树)
阅读量:7191 次
发布时间:2019-06-29

本文共 882 字,大约阅读时间需要 2 分钟。

题目链接:

本来想着m^2的复杂度撑不住,对于这种擦着边的复杂度就好慌。

首先对所有的边排个序,然后枚举每个可以构成生成树的区间(L,R),取区间里面构成树的边的权值的最小和最大的差值,求最小值即可。

如果已经构成生成树可以break掉优化下。

1 #include 
2 #include
3 #include
4 #include
5 using namespace std; 6 const int maxn = 5005; 7 struct edge 8 { 9 int u,v,w;10 };11 edge e[maxn];12 int pre[105];13 int Find(int x)14 {15 return pre[x]==x?x:pre[x]=Find(pre[x]);16 }17 bool cmp(edge A,edge B)18 {19 return A.w
=n)51 {52 break;53 }54 }55 if(count1>=n)56 {57 ans = min(ans,maxv-minv);58 }59 }60 if(ans!=20000) printf("%d\n",ans);61 else printf("-1\n");62 }63 return 0;64 }

 

转载于:https://www.cnblogs.com/littlepear/p/5979041.html

你可能感兴趣的文章
[20171107]dbms_shared_pool.pin.txt
查看>>
UIView
查看>>
mysql-distinct去重、mysql-group …
查看>>
Vmworkstation启用错误
查看>>
mysql中函数DISTINCT,group by,CONCAT及GROUP_CONCAT的使用
查看>>
4月5日 编码问题
查看>>
消息反射
查看>>
DVWA之brute force
查看>>
HTML DOM 第一篇
查看>>
Java 枚举类型简介
查看>>
21. Merge Two Sorted Lists (Java 合并有序链表 空间复杂度O(1))
查看>>
Visual Studio 2010 Shortcut
查看>>
一些互联网术语
查看>>
ArrayList的底层实现
查看>>
基于Cyclone II Device Hankbook 的几种电压描述(转)
查看>>
springboot单元测试通过MockMvc类调用controller接口
查看>>
[NOI2013]快餐店
查看>>
Linux 文件操作总结
查看>>
Chrome下的语音控制框架MyVoix.js使用篇(三)
查看>>
【iOS】UIKit框架 学习笔记
查看>>