最小生成树(基础知识 由于不知道今年考不考最小生成树,于是我们教练让学,让学的话那我就学吧,这就是我与最小生成树的邂逅bushi Prim算法 同班的几位巨巨说,由于Prim朴素算法时间复杂度太高(O(n2)),优化过后与Kruskal是竞争关系,所以不是经常使用,但是算法思想我还是了解了一下,大概 ...
分类:
其他好文 时间:
2020-10-30 12:43:08
阅读次数:
17
请注意,该讲解不提供代码模板。 模板题目请走这里 也算是傻愣愣地熟悉一下两种不同的思路了吧。 首先,不得不说Prim算法以及Kruskal算法确实是两个十分优秀的算法。 它们分别从点和边的角度出发建立一个最小的权值树。 在实现过程上,也有诸多注意点要说~~ 1、说一说Prim算法吧 Prim算法的核 ...
分类:
编程语言 时间:
2020-10-20 16:43:39
阅读次数:
40
T1T2分往脸上送,T3直接劝退。 T1 数三角形。 先固定一条直线,求它能与其他直线组成多少个三角形。这个很好求。 令 \(S\) 为所有直线的集合,\(k_i\) 表示直线 \(i\) 的斜率,\(c_k\) 表示斜率为 \(k\) 的直线条数,则直线 \(l\) 能与其他直线组成的三角形个数即 ...
分类:
其他好文 时间:
2020-10-12 20:36:57
阅读次数:
22
题意 给出一个 \(n\) 个点的无向完全图,每个点的点权为:\(a_i\),每条边的权值为该边两个端点的点权的异或值。求出这个图最小生成树的权值。 $1\leq n \leq 200000,0\leq a_i < 2^{30}$ 题目链接:https://codeforces.com/proble ...
分类:
其他好文 时间:
2020-09-17 20:29:54
阅读次数:
30
宽度优先搜索 概念 宽度优先搜索算法(又称广度优先搜索算法)是最简单的图的搜索算法之一,这一算法也是很多重要的图的算法的原型。Dijksta单源最短路径算法和Prim最小生成树算法都采用了与宽度优先搜索类似的思想。 宽度优先搜索的核心思想是:从初始结点开始,应用算符生成第一层结点,检查目标结点是否在 ...
分类:
其他好文 时间:
2020-09-15 20:53:10
阅读次数:
27
按边权把边从小到大排序 用并查集加边 检查是否为连通图 #include<iostream> #include<algorithm> using namespace std; const int N = 100010, E = 200010; struct edge{ int a, b, w; bo ...
分类:
编程语言 时间:
2020-09-10 22:59:17
阅读次数:
38
最小生成树 最小生成树(Minimum Cost Spanning Tree),简称MST。 给定一个带权的无向连通图,如何选取一棵生成树,使树上所有边上权的总和为最小,这叫最小生成树 。 最小生成树的特征:N个顶点,一定有N-1条边;包含全部顶点;N-1条边都在图中。 求最小生成树的算法主要是普里 ...
分类:
编程语言 时间:
2020-08-26 18:50:11
阅读次数:
65
Practice link : https://vjudge.net/problem/HDU-6832 题意: n 个点,m 条边,第 i 条边的权值是 2^i ,问每个 1 到每个 0 的最短距离之和。 即 思路:首先看边的权值 是 2^i ,我们可以联想到 2^0+2^1+......+2^(n ...
分类:
其他好文 时间:
2020-08-20 19:26:06
阅读次数:
126
题目链接 分析 假设有如下图两个集合 \(x\) & \(y\)。因为要构造一个完全图,所以应该将$x$中的$s[x]$个节点与$y$中的$s[y]$个节点一一连接即连接$s[x] * s[y] - 1$(此处减一是为了在后面单独处理原图中的$dis[i].w$)个节点,为了保证此完全图的最小生成树 ...
分类:
其他好文 时间:
2020-08-19 19:11:49
阅读次数:
55
畅通工程再续 HDU - 1875 思路: 1.将一条边加入最小生成树时有额外条件,注意一下即可。 2.如果所有点均可连通,那么应该在同一个集合里,也就是有同一个根节点;如果出现了不同的根节点说明没有全部连通。 然后就是套模板。 const int maxn = 100 + 10; const in ...
分类:
其他好文 时间:
2020-08-17 17:24:17
阅读次数:
57