Install Air Conditioning HDU - 4756 题意是要让n-1间宿舍和发电站相连 也就是连通嘛 最小生成树板子一套 但是还有个限制条件 就是其中有两个宿舍是不能连着的 要求所有情况中最大的那个 这是稠密图 用kruskal的时间会大大增加 所以先跑一遍prim 跑完之后对最 ...
分类:
其他好文 时间:
2019-03-12 09:25:04
阅读次数:
154
最小生成树定义:一个有 n 个结点的连通图的生成树是原图的极小连通子图,且包含原图中的所有 n 个结点,并且有保持图连通的最少的边。 1.Prim算法:刷新每条边联通生成树的最小权值最后完成最小生成树 变量: n:结点个数 i(i=1,i≤n,++i):循环n次,每次与生成树联通一个结点 j(j=1 ...
分类:
其他好文 时间:
2019-03-10 20:42:26
阅读次数:
152
空间复杂度:O(N+E) 时间复杂度:O(ElogE) cpp include include include include using namespace std; const int maxn=5e3+5, maxm=2e5+5; int f[maxn], n, m; //f为并查集数组 st ...
分类:
编程语言 时间:
2019-03-05 09:40:09
阅读次数:
203
这是一个愉快的敲模板的过程 昨晚不知道为啥老是RE,结果改着改着,竟然本来能ac的几个数据开始WA了......... 啊哈哈哈哈哈啊哈哈哈 好吧 这个是kruskal算法 贪心策略:n个节点的最小生成树里面包含了n-1条边,这n-1条边是不可以成环的,这样就可以保证联通了,所以我们只要把这n-1条 ...
分类:
其他好文 时间:
2019-03-01 09:21:32
阅读次数:
240
题意 有n个点,m条双向道路,其中第条公路的两个端点是u[i],v[i],费用是c[i]。 现在给出q个询问,每次给定一个L和一个R,要求你只能够使用[L,R]这个区间内的边,是的连接之后,连通块的数量最小。在保证连通块数量最小的情况下,求最少需要的代价(可以拿一些边不用)。 输入格式 第一行三个整 ...
分类:
其他好文 时间:
2019-02-28 14:48:04
阅读次数:
153
题目描述 Given a connected undirected graph, tell if its minimum spanning tree is unique. Definition 1 (Spanning Tree): Consider a connected, undirected g ...
分类:
其他好文 时间:
2019-02-16 00:06:05
阅读次数:
170
[题目链接] https://www.luogu.org/problemnew/show/P4899 [算法] 建出原图的最小/最大生成树的kruskal重构树然后二维数点 时间复杂度 : O((N+Q)logN) [代码] ...
分类:
其他好文 时间:
2019-02-14 00:11:56
阅读次数:
156
接昨天,在这里给出图的其中一种应用:最小生成树算法(Prime算法和Kruskal算法)。两种算法的区别就是:Prime算法以顶点为主线,适合用于顶点少,边密集的图结构;Kruskal算法以边为主线,适合于顶点比较多,但是边比较稀疏的图结构。代码如下,亲测,可执行,在最后也给出输入数据的形式。 本来 ...
分类:
编程语言 时间:
2019-02-12 18:45:52
阅读次数:
190
Kruskal算法:首先按照边的权值进行从小到大排序,每次从剩余的边中选择权值最小的边且不会产生回路的边加入到生成树中,直到加入n-1条边就结束; 算法难点在与如何判断是否会产生回路。这个可以通过并查集实现,将所有加入生成树的结点加入同一个集合; 代码: ...
分类:
编程语言 时间:
2019-02-11 10:44:50
阅读次数:
237
[IOI2018] werewolf 狼人 IOI2018题解 代码: 总结:kruskal重构树,就是考虑在经过边权在一定范围内到达的区域的点的情况 这里就是简单查询连通性 两个重构树判交的“二维数点”问题的转化很巧妙! ...
分类:
其他好文 时间:
2019-02-10 17:48:43
阅读次数:
247