http://www.lintcode.com/en/problem/graph-valid-tree/ DFS 解法: Union Find 解法: 这道题还可以用 BFS 解。 ...
分类:
其他好文 时间:
2017-05-25 01:16:02
阅读次数:
260
https://leetcode.com/problems/surrounded-regions weight union find 解法: ...
分类:
其他好文 时间:
2017-05-23 01:19:41
阅读次数:
235
Intro 想象这样的应用场景:给定一些点,随着程序输入,不断地添加点之间的连通关系(边),整个图的连通关系也在变化。这时候我们如何维护整个图的连通性(即判断任意两个点之间的连通性)呢? 一个比较简单的solution是每个点都有一个便签,标记它属于哪个连通子图。这种做法就有一个很明显的问题 -- ...
分类:
编程语言 时间:
2017-05-20 20:00:14
阅读次数:
134
搭建一个最小代价的网络,最原始的最小生成树的应用。 这里使用Union find和Kruskal算法求解. 注意: 1 给出的数据是原始的矩阵图,可是须要转化为边表示的图,方便运用Kruskal,由于须要sort 2 降低边。一个矩阵最多须要(N*N-N)>>1条边,有人讨论本题是否有向,那是无意义 ...
分类:
Web程序 时间:
2017-05-04 18:28:19
阅读次数:
254
不相交集类 ,可以用来解决等价问题,实现起来简单,可以只使用一个数组。 用一个数组id[N] 记录N个触点,初始化Id[i] =i; 实现动态链接的时候,遍历这个数组,如果p和q的id[p] =id[q] 那么不用管,否则要将pq链接起来,使用uion方法,也就是将p的分量重命名为id[q]。 具体 ...
分类:
其他好文 时间:
2017-03-22 16:18:49
阅读次数:
170
常见问题: 首先在地图上给你若干个城镇,这些城镇都可以看作点,然后告诉你哪些对城镇之间是有道路直接相连的。最后要解决的是整幅图的连通性问题。比如随意给你两个点,让你判断它们是否连通,或者问你整幅图一共有几个连通分支,也就是被分成了几个互相独立的块。像畅通工程这题,问还需要修几条路,实质就是求有几个连 ...
分类:
其他好文 时间:
2017-02-21 17:46:26
阅读次数:
260
关于Union Find的一个很好的技术介绍blog: http://blog.csdn.net/dm_vincent/article/details/7655764\ 一步步优化代码: Quick find -> quick union ->weighed quick uunion -> 带压缩的 ...
分类:
其他好文 时间:
2017-01-05 11:54:38
阅读次数:
149
Kruskal:适用稀疏图需要Union_Find_Set(并查集) class Kruskal { #define Kruskal_MAXN 100 #define Kruskal_MAXM 10005 public: Union_Find_Set ufs; int x[Kruskal_MAXM] ...
分类:
其他好文 时间:
2016-12-21 11:32:15
阅读次数:
143
DFS & BFS: 关键在于构造graph Union Find ...
分类:
其他好文 时间:
2016-12-14 07:50:28
阅读次数:
179
传送门 Description I hope you know the beautiful Union-Find structure. In this problem, you’re to implement something similar, but not identical. The dat ...
分类:
其他好文 时间:
2016-11-15 01:04:22
阅读次数:
162