并查集
Alphacoo
这个作者很懒,什么都没留下…
展开
-
AcWing 238. 银河英雄传说(C++)
题目链接分析可以把每艘战舰进入队列时的顺序作为 属性值,表示为这艘战舰到队列头部战舰的距离,用d[i]表示i号战舰到头部战舰的距离,每次把一个战舰队列接到另一个战舰队列的尾部时, 把前者头部战舰的d[i]改为后者整个队列的长度, 然后后者队列长度 再加上前者队列长度代码 (带权并查集)#include <iostream>#include <algorithm>#include <cstring>using namespace std;const in原创 2020-11-10 14:49:25 · 437 阅读 · 0 评论 -
AcWing 837. 连通块中点的数量(C++)
837. 连通块中点的数量分析这题是并查集的典型应用,并查集可以用来维护无向图的连通块这题的三种操作可以这样理解:1.要求把两个点连起来,本质是把这两个点放到同一个集合中2.查询两个点是否在同一个集合中,本质是找这两个点所在集合的根节点是否相等3.查询某个点所在的集合的点的总数量因为这题有些操作是重复使用的,所以需要把功能独立出来,也就是写成函数函数1:初始化并查集,同时初始化每个集合的点的总数量函数2:并查集函数函数3:判断两个点是否在同一个集合函数4:合并两个点所在的集合代码#原创 2020-11-09 10:42:44 · 223 阅读 · 0 评论