
最小生成树
会飞的小蛇
这个作者很懒,什么都没留下…
展开
-
(最小生成树)AcWing346 走廊泼水节
AcWing346 走廊泼水节思路:他要求最小生成树不能改变,我们想一下kurskal的过程,是选两个点,判断他是否在一个并查集中,不是的话就合并,加权值。那么如果加上其他的边但依旧要让这两个点合并,我们可以看出加入的边权值要大于这条边权值w,所以最小的权值为w+1。我们又可以考虑到这两个点的子树分别有x和y个结点,那么加边的时候我们可以加x*y-1条边。所以我们可以得到结果为 ∑(x*y-...原创 2020-01-24 19:08:45 · 537 阅读 · 0 评论 -
(最小生成树)洛谷P2330 [SCOI2005]繁忙的都市
洛谷P2330 [SCOI2005]繁忙的都市思路:模板题。代码:#include<bits/stdc++.h>#define pii pair<int,int>#define ll long long#define cl(x) memset(x,0,sizeof(x))const int N=1e6+10;const int mod=1e7+9;con...原创 2020-01-24 11:36:58 · 5047 阅读 · 0 评论 -
(最小生成树)HDU1875畅通工程再续
HDU1875畅通工程再续思路:模板题。代码:#include<bits/stdc++.h>#define pii pair<int,int>#define ll long long#define cl(x) memset(x,0,sizeof(x))const int N=1e5+10;const int mod=1e7+9;const int max...原创 2020-01-24 10:59:08 · 465 阅读 · 0 评论 -
(最小生成树)AcWing1146新的开始
AcWing1146新的开始思路:本来是跑一边最小生成树再加上发电站的最小值,但是wa了。后来可以想到如果发电站的值很小,建设电网的费用很大,就可以建多个发电站。所以我们将图转化成n+1个点的图,设一个虚拟的点,他到其他点的权值为建发电站的费用。代码:#include<bits/stdc++.h>#define pii pair<int,int>#define...原创 2020-01-24 00:32:55 · 2979 阅读 · 0 评论 -
(最小生成树)HDU1233还是畅通工程
HDU1233还是畅通工程思路:模板题。可是我竟然把&&打错成&,wa了n次!!!#代码:#include<bits/stdc++.h>#define pii pair<int,int>#define ll long long#define cl(x) memset(x,0,sizeof(x))const int N=1e6+10;...原创 2020-01-23 20:39:20 · 430 阅读 · 0 评论 -
(最小生成树)POJ1258Agri-Net
POJ1258Agri-Net题意&思路:给n个农场之间的距离,要铺设光缆使之两两连通,问最小铺设光缆的距离。模板题。代码:#include<iostream>#include<stdio.h>#include<stdlib.h>#include<algorithm>#include<string.h>#inc...原创 2020-01-23 19:14:06 · 339 阅读 · 0 评论 -
(最小生成树)POJ1751Highways
POJ1751Highways题意&思路:给你n个城市的坐标,m组已经连通的城市,使两两城市连通的需要修的道路的总和最小,输出修建公路的两城市的坐标。代码:#include<iostream>#include<stdio.h>#include<stdlib.h>#include<algorithm>#include<st...原创 2020-01-23 19:03:42 · 256 阅读 · 0 评论 -
(最小生成树)POJ2349Arctic Network
POJ2349Arctic Network题意&思路:给你p个点和s-1条免费边,问使两两点连通的最小的最长边。求第p-s条最长边,kruskal。用%lf记得交c++。代码:#include<iostream>#include<stdio.h>#include<stdlib.h>#include<algorithm>#in...原创 2020-01-23 17:45:24 · 217 阅读 · 0 评论 -
(最小生成树)POJ1789Truck History
POJ1789Truck History题意&思路:给你n个长度为7的字符串,每两个字符串之间的权值为相同位置字符不同的个数。每个字符串都由另一个字符串变化而来,变化的质量为1/权值和。求最大质量。其实就是求最小权值和。模板题。代码:#include<iostream>#include<stdio.h>#include<stdlib.h>...原创 2020-01-23 01:55:05 · 167 阅读 · 0 评论 -
(最小生成树)POJ2421Constructing Roads
POJ2421Constructing Roads题意&思路:何以解忧,唯有做题。为什么总是想复杂。给n个村庄和村庄之间的距离,有些村庄已经存在一条路。问使村庄之间两两连通最少需要修路的长度。并查集和最小生成树,模板题。代码:#include<iostream>#include<stdio.h>#include<stdlib.h>#in...原创 2020-01-23 01:34:28 · 213 阅读 · 0 评论 -
(最小生成树)POJ2031Building a Space Station
POJ2031Building a Space Station题意&思路:给你n个球的球心坐标(x,y,z)和半径r,如果两个球相交则视为连通。问使所有球两两连通(表面接触)的最短道路。模板题。注意点就是两两连通就是两个球的距离设为0,以及提交时用C++才能交%lf。代码:#include<iostream>#include<stdio.h>#incl...原创 2020-01-22 22:29:45 · 152 阅读 · 0 评论 -
(最小生成树)POJ1287Networking
POJ1287Networking题意&思路:给一个区域内p个点和r个电缆,问使两两连通的最小长度。模板题。代码:#include<iostream>#include<stdio.h>#include<stdlib.h>#include<algorithm>#include<string.h>#include&...原创 2020-01-22 22:01:25 · 166 阅读 · 0 评论 -
(最小生成树)POJ1251Jungle Roads
POJ1251Jungle Roads题意&思路:一个旅游景点需要造缆车,使任意两个景点都可以相互到达,问最小花费。最小生成树(kurskal)模板题,只需要把字母改成整型就好了。代码:#include<iostream>#include<stdio.h>#include<stdlib.h>#include<algorithm>...原创 2020-01-22 21:48:54 · 170 阅读 · 0 评论