题目 题目链接:https://gmoj.net/senior/ main/show/3860 有$n$个点,$m$条边,每一条边可以用$(x,y,u,v)$表示,表示一条连接$x,y$的边的长度为$k_1x+k_2y$。接下来$q$组询问,每次询问给出$k_1,k_2$,求此时的最小生成树。 $n ...
分类:
其他好文 时间:
2020-02-03 00:04:29
阅读次数:
133
题目链接: "http://poj.org/problem?id=1679" 题目大意: 给你一个简单连通图,判断他的最小生成树是否唯一。 解题思路: 首先(我这里用Kruskal算法)求出它的最小生成树(以下简称MST)以及对应的边,然后构造出这棵MST。 然后我们枚举图上每一条不在此MST上的边 ...
分类:
其他好文 时间:
2020-02-02 19:56:59
阅读次数:
91
题目大意:给定一张含有 $m$ 条边的无向带权图 , 求出这张图中边权之和严格大于最小生成树的次小生成树的边权之和 ...
分类:
其他好文 时间:
2020-02-02 19:53:16
阅读次数:
72
Prim、Kruskal算法求解最小生成树 [TOC] 关于最小生成树有两个很重要的算法:Prime(普利姆)算法和Kruskal(克鲁斯卡尔)算法,下面是这两个算法的代码上的基本实现: Prime算法 该算法利用了最小生成树的MST性质,该算法很好的运用了贪心算法,其基本思想是随机选取一个结点,找 ...
分类:
其他好文 时间:
2020-02-02 15:31:10
阅读次数:
73
一个有 n 个结点的连通图的生成树是原图的极小连通子图,且包含原图中的所有 n 个结点,并且有保持图连通的最少的边。最小生成树可以用kruskal(克鲁斯卡尔)算法或prim(普里姆)算法求出。 ...
分类:
编程语言 时间:
2020-02-02 01:19:09
阅读次数:
81
//最小生成树Prim算法 #include <iostream> #include <cstring> using namespace std; const int INF=0x7fffffff/2; int vst[505]; int d[505]; int g[505][505], n, m, ...
分类:
其他好文 时间:
2020-02-02 01:07:13
阅读次数:
65
深搜和广搜是图很多算法的基础,很多图的算法都是从这两个算法中启发而来。 深搜简单地说就是直接一搜到底,然后再回溯,再一搜到底,一直如此循环到没有新的结点。 广搜简单地说就是一层一层的搜,像水的波纹一样往外面扩散,扩散到最外层搜索也就完成了。 prim最小生成树、Dijkstra单源最短路径算法都使用 ...
分类:
编程语言 时间:
2020-02-01 21:24:01
阅读次数:
201
Description 最近小哼迷上了《龙门镖局》,从恰克图道武夷山,从张家口道老河口,从迪化道佛山,从蒙自道奉天......古代镖局的运镖,也就是现在的物流。镖局每到一个地方开展业务,都需要堆运镖途中的绿林好汉进行打点(不给钱就不让过路)。好说话的打点费就比较低,不好说话的打点费就比较高。城镇类似 ...
分类:
编程语言 时间:
2020-02-01 16:42:41
阅读次数:
134
图的遍历和应用 1. 实现方式 :邻接矩阵可以使用vector。邻接矩阵的无穷表示方法: 2. 应用场景 :拓扑图、最小生成树、最短路径、二分图、DFS、BFS。 例题 全排列问题 匈牙利算法 —— 最大匹配 代码与知识点均学习自AcWing:https://www.acwing.com/activ ...
分类:
其他好文 时间:
2020-02-01 12:32:35
阅读次数:
73
A. 开车 大意就是在一张图上给某些边复制1遍,使这张图存在欧拉回路。 由于复制一条边必然会修改两个点的状态,所以不难想到可以将这些点两两配对,于是可以求出来原图的一颗最小生成树,那么需要复制的边一定在最小生成树上,所以在树上两两配对即可。 考虑贪心,对于每条边,只有在这条边两边需要修改的点的个数是 ...
分类:
其他好文 时间:
2020-01-31 22:24:45
阅读次数:
48