uva_1935_Slim Span

题意:给出一个n<100的图,求苗条度最小的生成树,苗条度指生成树最长的边-最短的边

分析:先按照边权进行排序,然后枚举生成树边开始的起点,用kruskal找到终点,每次更新答案

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 const int maxn=1e4+5;
 4
 5 int u[maxn],v[maxn],w[maxn],r[maxn];
 6 int n,m,p[105];
 7
 8 bool cmp(int a,int b){
 9     return w[a]<w[b];
10 }
11
12 void init(){
13     for(int i=0;i<=n;i++)
14         p[i]=i;
15 }
16
17 int find(int x){
18     return p[x]==x?x:p[x]=find(p[x]);
19 }
20
21 int main(){
22     while(~scanf("%d%d",&n,&m)&&n+m){
23         for(int i=0;i<m;i++){
24             scanf("%d%d%d",u+i,v+i,w+i);
25             r[i]=i;
26         }
27         sort(r,r+m,cmp);
28         int ans=maxn,d;
29         for(int i=0;i<=m-n+1;i++){
30             init();d=0;
31             for(int j=i;j<m;j++){
32                 int x=find(u[r[j]]);
33                 int y=find(v[r[j]]);
34                 if(x!=y){
35                     d++;
36                     p[x]=p[y];
37                 }
38                 if(d==n-1){
39                     ans=min(ans,w[r[j]]-w[r[i]]);
40                     break;
41                 }
42             }
43             if(d<n-1)
44                 break;
45         }
46         printf("%d\n",ans==maxn?-1:ans);
47     }
48     return 0;
49 }

时间: 2024-08-24 00:30:48

uva_1935_Slim Span的相关文章

菜单上下级 (全国地区)

<!DOCTYPE html><html lang="zh-cn">    <head>        <meta charset="utf-8">        <meta name="viewport" content="width=device-width, initial-scale=1">        <link rel="icon&quo

交换机SPAN功能配置

一.实验目的 掌握交换机设备的端口镜像(SPAN)功能与原理,掌握配置指令与用法. 二.实验原理 用户可以利用端口镜像(SPAN)提供的功能,将指定端口的报文复制到交换机上另一个连接有网络监测设备的端口,进行网络监控与故障排除. 三.实验设备 Ruijie S2628G-E / S3760E-24交换机(1台).计算机 四.实验内容与步骤 上图中源端口号为5,目的端口号为10.目的端口(也被称为监控口)用于接收源端口的报文拷贝.在一个 SPAN 会话中,用户可以监控一个或多个源端口的输入报文与输

div span ul ol 区别

一不小心跑偏了qwq 1.ol和ul <ol> <li> </li> <li> </li> <ul> <ul> <li> </li> <li> </li> </ul> 上面那两块的区别在于ul块中的行有小圆点,<li>是行的意思: 2.div和span div和span都是块,但是div是自动分行的:

转载: scala中span和partition区别

scala中的partition span splitAt groupBy 可把Collection分成:满足条件的一组,其他的另一组. partitionspan List(1,9,2,4,5).span(_<3)       // (List(1),List(9, 2, 4, 5)),碰到不符合就结束 List(1,9,2,4,5).partition(_<3) // (List(1, 2),List(9, 4, 5)),扫描所有 splitAt // (List(1, 3),List(5

div img span 垂直居中问题

div设置height,line-height影响块元素内的文本垂直居中,块下的a,img,span等行内元素是没能垂直居中,用了vertical-align:middle;可以处理div等块级元素下的行内原色垂直居中,用了没起作用,最后加了个*起作用了,可以达到效果了 <style> #test *{vertical-align:middle;} </style> </head> <body> <div id="test">

span设为inline-block之后,未包含文字时下面会多出一条空白问题

1.问题的引出: 产品列表页面场景: 上面是产品图片[img], 中间是提示库存信息[span](始终存在,有库存则不显示文字,但元素占位.所以设置display:inline-block), 下面是产品名称[div]. 效果如下: 我们发现,没有文字的时候,span元素下方会多一条空白. 将display设置为block,则不会出现此问题. 2.问题的解决: span元素设置vertical-align值为baseline以外的值. 3.为什么这样解决: 兼容性问题!!! 专业描述:RD302

css设置span元素的尺寸

css设置span元素的尺寸:在默认状态下是无法设置span元素的尺寸的,只能够根据内容的尺寸自适应,也就是说给span元素设置width和height属性默认条件是无效的.之所以会出现这种情况是因为span元素是内联元素,内联元素无法设置尺寸的,只要设置为块级或者内联块级元素即可.代码实例如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name=&qu

div与span的区别:

div标签属于块级元素,span标签属于行内元素,使用对比效果如下: 1 <!DOCTYPE html> 2 <html> 3 <head lang="en"> 4 <meta charset="UTF-8"> 5 <title>111</title> 6 <style> 7 div{ 8 background-color: #CC99CC; 9 color: blue; 10 wi

POJ 3522 ——Slim Span——————【最小生成树、最大边与最小边最小】

Slim Span Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 7102   Accepted: 3761 Description Given an undirected weighted graph G, you should find one of spanning trees specified as follows. The graph G is an ordered pair (V, E), where V