Poj 并查集

来源:互联网 发布:淘宝上还有类似血滴子 编辑:程序博客网 时间:2024/05/09 23:47

写了两三天的模拟,过段时间再写吧,今天开始数据结构。

 

既然数据结构分成集合,线性表,树,图四种,今天就从集合开始看。

 

另外关于图的我就不写了,后面再专门写图论的东东。

 

并查集:

 

简单说来,对于元素有合并和查询两种操作,合并O(n),查询O(1)。

 

并查集学的有点久了,第一次接触是学kruskal的时候,后来有专门系统写过并查集的题。

 

单独并查集的题其实不多,一半都是中间对数据做一些处理。

 

个人感觉加了压缩路径之后按秩合并的效率并不会提高太多,北大PPT上也把按秩合并叉掉了。

 

我写的并查集都是只有路径压缩的,都是些以前写过的题。

 

poj1611

给出人数和组数,如果一个人患病则认为该组所有人都是患者,最开始已知零号是患者,问患者的人数。

赤果果的并查集。

 

poj2524

有n个人m个关系ab,ab属于同一集合,问不同集合的最大数目。

 

poj1861

用并查集写的kruskal求最小生成树。

 

poj2560

MST

 

poj2492 推荐

当时最为纠结的一道并查集了,刚学了并查集就知道这个是,就做,网上搜代码,就是不能明白。

前前后后写过三次,总之不懂,那个权值太让人费解了,就后来终于懂了。

学离散的时候突然反应过来它是一个群还是一个偏序集来着,忘了。。

 

poj1456

贪心+并查集

 

poj1703 推荐

每次给出两个不属于同一集合的元素,随即查询两个元素的关系,不确定,同一集合,不同集合。

 

poj1182 推荐

有三类动物A,B,C,这三类动物的食物链构成了有趣的环形。AB, BC,CA,输出假话的个数。

 

poj2236

每次修了之后把可以和这点直接联系的不属于同一集合的点合并。

 

poj1988

类似银河英雄传说,刚刚写了,poj又挂了,不知道对了没。

原创粉丝点击