最小生成树
jinglinxiao
这个作者很懒,什么都没留下…
展开
-
POJ - 1679 - The Unique MST (检验最小生成树是否唯一)
POJ - 1679 - The Unique MST 检验最小生成树是否唯一 首先生成一个最小生成树,将他的所有边记录下来,然后每次单独删去其中一条边,若删去边后图联通且最小生成树的权值与没删去边时相等,那么不唯一。然后再放回。#include<vector>#include<algorithm>#include<iostream>using namespace std;int fat原创 2017-02-16 22:26:42 · 361 阅读 · 0 评论 -
UVA-10600-ACM Contest and Blackout (次小生成树三种解法)
题目链接:UVA-10600-ACM Contest and Blackout次小生成树有两种算法,一种是先跑一次最小生成树并记录下每条边,然后每次仅删去一条边,跑n-1次最小生成树取最小值为次小生成树,这样的时间复杂度是O( n∗m∗logmn*m*logm ) (Kruskal) 还有一种就是跑一次最小生成树的过程中得到 MaxMax 数组,Max[i][j]Max[i][j] 的值为i到j的原创 2017-02-17 17:53:07 · 431 阅读 · 0 评论 -
UVA-10462-Is There A Second Way Left? (次小生成树带重边)
题目链接:UVA-10462-Is There A Second Way Left?有重边的次小生成树。。。所以用了邻接表的Prim。。不过边很少用Kruskal应该也能过。#includeusing namespace std;int n,m;const int INF=0x3f3f3f3f;int Max[107][107];bool vis[107],evis[原创 2017-02-17 18:41:33 · 441 阅读 · 0 评论 -
HDU-4081-Qin Shi Huang's National Road System (次小生成树)
题目链接:HDU-4081-Qin Shi Huang’s National Road System题意是给定坐标系上的n个点的坐标和人口,要求这 nn 个点之间构成一棵树, AA 定义为该边两端点的人口数之和, BB 定义为除了该边外其他边的长度。求 AB\frac{A}{B} 的最大值。考虑到 n<=103n<=10^3 ,那么边的数量 e<106e<10^6 ,所以枚举每一条边,每一条边的 A原创 2017-02-20 20:57:38 · 310 阅读 · 0 评论 -
POJ-3164- Command Network(最小树形图)
题目链接:POJ-3164- Command Network最小树形图的算法: 1. 找出除根之外每个点的 in[i] , in[i] 表示点i所有入边的最小值。 2. 检测图中是否有环,若无环,则已经找到最小树形图。若有环,则将环染色缩点,若u与v在同一个环中,中,那么 id[u]==id[v]id[u]==id[v] 。 3. 缩点,对于边 (u,v,d)(u,v,d) ,将其转化为 (i原创 2017-02-21 14:38:02 · 252 阅读 · 0 评论 -
UVA-11183- Teen Girl Squad(最小树形图模板)
题目链接:UVA-11183- Teen Girl Squad最小树形图,套模板即可。#include<bits/stdc++.h>using namespace std;const int INF=1e9+7;int n,m;struct Edge{ int u,v,d;};Edge edges[40007];int in[1007],vis[1007],id[1007原创 2017-02-21 18:08:22 · 528 阅读 · 0 评论 -
HDU-2121-Ice_cream’s world II 9(不定根最小树形图)
题目链接:HDU-2121-Ice_cream’s world II 9给定一个图,要求找到其最小树形图,并给出其权值以及最小树形图的根。思路是设置一个人造根,这个根对所有点都有一条出边,权值大于原图所有边的权值sum。 这样原图的树形图再加上一条人造边就是新图的最小树形图。 这样我们可以得到权值,如果权值>=sum*2,则说明引入了大于等于两条人造边,这说明原图无法构成一个树形图。否则权值-s原创 2017-02-21 21:49:33 · 355 阅读 · 0 评论 -
HDU - 4009-Transfer water (最小树形图)
题目链接:HDU - 4009-Transfer water最小树形图模板。 二重循环下标写同样的WA了好久。。。#include<bits/stdc++.h>using namespace std;int n,x,y,z,m;const int maxn=1007;const int INF=2e9+7;struct Edge{ int u,v; int d;};E原创 2017-02-21 23:05:09 · 404 阅读 · 0 评论