并查集
AEP_WYK
这个作者很懒,什么都没留下…
展开
-
POJ-1182 食物链【带权并查集】
题目链接:http://poj.org/problem?id=1182 解题思路: 这道题是并查集题目中的经典。。。而且比普通并查集提高了一个档次,下面在基础并查集的前提上讲解并查集的真正用法。 基础回顾: find()函数找根结点的两种写法如下: 第一种递归: int find(int x) { return x == pre[x] ? x : find(pre[x]); } ...转载 2018-09-19 11:13:28 · 142 阅读 · 0 评论 -
hdu 1272 小希的迷宫(并查集)
这题只要判断一下有没有环,并且要保证只有一个集合。 还有一个坑就是:x==0 y==0, 输出yes。因为没有点,也是符合要求的。 我这里没有用压缩路径,据说这题压缩路径会爆栈,如果爆栈的话,find里面换用循环的方式写就行了。 附上ac代码: #include<iostream> #include<algorithm> #include<cstdio&g...原创 2018-09-19 22:13:22 · 93 阅读 · 0 评论 -
再做食物链【扩展并查集】
这题很明显总共有三种关系: 1、x与y同类 2、x吃y 3、y吃x 所以这时候,如果只有一个域就不能表示这3种关系了,比如将(x,y)合并,那么这时候是x,y哪种关系呢? 所以这时候我们就要将这一个点扩展为3个点。 同类域,吃域,被吃域。 具体看代码吧: #include<iostream> #include<stdio.h> #include<algo...原创 2018-11-18 19:01:33 · 118 阅读 · 0 评论