摘要: 题意: 给你一个图,让你求这个图中所有生成树中满足题目条件的,这个条件是生成树中最长边与最短边的差值最小。 思路: 根据最小瓶颈生成树的定义:在一个有权值的无向图中,求一个生成树最大边的权值尽量小。首先以K算法做这道题,先给所有边排好序,然后我可以从小到大枚举每一条边作为我所求生成树的最短边(即第一 阅读全文
posted @ 2016-04-02 20:56 vrsashly 阅读(356) 评论(0) 推荐(0) 编辑
摘要: 题意: 判断最小生成树是不是唯一,我的判断方法是求次小生成树,如果相等那么说明不唯一。 代码: 阅读全文
posted @ 2016-04-02 20:30 vrsashly 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 题意: 题意比交难理解,直接描述了,说这里有一些字符串,一个字符串必须由另外一字符串 “衍生” 出来,衍生的价值是 这两个字符串之间的 distance 距离,即俩个字符串的相同位置总共有几个字符不一样。比如 aaaaaaa 和 baaaaaa的 distance 距离为 1;给你 N 个字符串,让 阅读全文
posted @ 2016-04-02 18:52 vrsashly 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 题意: 给出一个N。接下来有一个N * N的邻接矩阵A,第 i 行 第 j 列代表点 i 和 j 相距A[i][j].求连同所有点的最短路径,求最小生成树即可。 思路: 用P算法,直接用邻接矩阵来存放数据就好了。 阅读全文
posted @ 2016-04-02 17:34 vrsashly 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 题意: 第一行给一个N,代表这里有N- 1 个村庄,接下来有 N- 1 行,每行开头输入一个大写字母 C 代表第 i 个村庄的编号,随后有一个数字 m 代表 C 这个村庄和 m 个村庄相连,随后再给出 m 组数据,每组输入由一个大写字母 F 和 数字 w 组成,代表 C 和 F 之间的距离为 W;当 阅读全文
posted @ 2016-04-02 17:27 vrsashly 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 思路: 比较典型的求最小生成树,利用K算法或者P算法,如果在输入时两个村庄的修建状态为 已修建,那么我这里的做法是让他们之间的权值为 0,即修建费用为 0;然后套用算法就好了。 代码P算法: 代码K算法: 阅读全文
posted @ 2016-04-02 17:15 vrsashly 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 思路: 题目给的是每个小岛的坐标,俩个岛之间的距离等于俩个岛之间的欧几里得距离,然后套用P算法或者K算法就好了。用K算法或者P算法都可以,但是这道题显然需要计算出来每俩个岛之间的距离,这样就有接近V^2/2条边,输入稠密图,所以用P算法会更好点。注意的是题目中说两个岛之间的距离不能大于1000米也不 阅读全文
posted @ 2016-04-02 10:49 vrsashly 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 思路: 比较典型的最小生成树的题目了、、在这里用求最小生成树的经典算法K(Kruskal)算法和P(Prim)算法。我的 K 算法用的是结构体来存图,P 算法用的是邻接矩阵来存图,K算法的复杂度是O(ElogE),比较适用于稀疏图,P算法的复杂的是O(V ^ 2),适合用稠密图。 以下是C++的K算 阅读全文
posted @ 2016-04-02 10:30 vrsashly 阅读(215) 评论(0) 推荐(0) 编辑