![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
最小生成树
银之夏雪
这个作者很懒,什么都没留下…
展开
-
hdu4786Fibonacci Tree(最小生成树)
博主又犯了别人几乎没犯过的错误,开始MLE,后来RE将近30次,再后来TLE,下面我就来说说弱智错误是怎么形成的,先看一下题意,求一个最小生成树,再求一个最大生成树,然后斐波那契数列打个表,找一下就行了,其实刚开始我纠结在为什么求出了最大和最小,那么中间的数就一定会存在呢,可以这么想,其实我也不知道对不对,就是连的边都为1的点和都为0的点是固定的,那么其他的点既会和边为1的相连,也会和边为0的相连,原创 2016-04-01 10:44:52 · 899 阅读 · 0 评论 -
hdu4081(次小生成树) Qin Shi Huang's National Road System
下面让我们来分析一下这个题 秦始皇统一中国之后要在全国修公路连接各个城市,抠门皇帝只想修成最小生成树(距离最小,不考虑人力),一个道士说自己可以不花人力物力修一条路,经过两方妥协,选择max(两个城市人口/(生成树长度-这条路的长度))的路让他变,求这个比值最大值。 先说说次小生成树的形成过程,在prim最小生成树的算法基础上,记录每两个点之间路径上最长的边长,如果要求次小生成树的数值的话,遍历原创 2016-03-25 13:41:10 · 2163 阅读 · 1 评论 -
poj1258Agri-Net(最小生成树)
这道题目是赤裸裸的最小生成树模板题#include <iostream> #include <string.h> using namespace std; const int INF=0x3f3f3f3f; const int maxn=110; bool vis[maxn]; int lowc[maxn]; int prim(int cost[][maxn],int n) { int an原创 2016-06-16 14:33:55 · 556 阅读 · 0 评论 -
poj2485Highways(最小生成树)
其实我觉得这道题有点像次小生成树,用了一个max数组,最后把max数组里的最大值求出来就行了,我之前写错是因为我求的是max[0][n-1],以为这样就能把全图都包括,得到的就是最大的,然而事实却并不是这样,max[0][n-1]表示的是从0到n-1这段路径的最大边的长度,然而我们求的是最小生成树的最大边,很有可能这条边是最大的,但是它并不在0到n-1这条路径上,所以要把所有的max数组遍历一遍就o原创 2016-06-16 14:48:58 · 378 阅读 · 0 评论 -
poj1789 - Truck History (最小生成树)
题目大意:有n个型号,每个型号有7个字母代表其型号,每个型号之间的差异是他们字符串中对应字母不同的个数d[ta,tb]代表a,b之间的差异数 问1/Σ(to,td)d(to,td)最大值 解题思路:根据题意,即分母最小,这样就转换为一个典型的求最小生成树,每两个字符串找对应位置不一样的,距离为不一样的个数,然后找最小生成树就行了#include <iostream> #include <stri原创 2016-06-16 15:34:25 · 296 阅读 · 0 评论 -
Gym 100703A(最小生成树)
这道题题意就是给你n个长度为m的字符串,然后每两个字符串之间的距离是对应的每位的距离的最大值,然后把这些字符串连成一棵树,问这棵树最大边的最小值,其实就是求最小生成树的最大边,代码如下#include <iostream> #include <string.h> #include <algorithm> using namespace std; const int maxn=1005; const原创 2016-09-16 16:37:34 · 282 阅读 · 0 评论