
并查集
abant2
世界上最菜的arcem
展开
-
leetcode 547 dfs+并查集
是一个较为典型的并查集问题,也可以用dfs做。并查集用在在线算法上是最快的。 解法一:dfs dfs搜索图,不需要回溯。无脑找就ok了。找k次,不断加ct就行。 class Solution { int n; public: void dfs(vector<vector<int>>& isConnected, vector<int>& id, int i, int ct) { if(id[i] > 0)return;.原创 2021-06-17 16:05:15 · 161 阅读 · 0 评论 -
leetcode 765 并查集+座位问题
这是一个经典的换座位问题,可以很好地利用并查集解决。如果有N对情侣彼此纠缠,那么共需要交换N-1次。知道这个定律后,咱们只需用并查集统计出有几个团即可。注:并查集的路径压缩是个很好地技巧,咱们再在并查集内部加一个父亲节点统计儿子数量的字典即可。 from collections import defaultdict class Solution: def minSwapsCouples(self, row: List[int]) -> int: class Unionfind:原创 2021-02-14 01:17:53 · 102 阅读 · 0 评论