并查集
文章平均质量分 75
pmt123456
这个作者很懒,什么都没留下…
展开
-
hdu1232并查集
int find(int x) { if(F[x]==x)return x; else return F[x]=find(F[x]); } 路径压缩:每次查找的时候,如果路径较长,则修改信息,以便下次查找的时候速度更快 步骤:1、找到根点 2、修改查找路径上的所有节点,将他们都指向根结点 #include #include原创 2016-11-25 23:42:06 · 259 阅读 · 0 评论 -
hdu1198(DFS/并查集)
题目链接:Farm Irrigation 如左图所示,有11种管道,问给定一个图,最少要挖几个井才能灌溉到所有的管道 如右图,至少需要三个井口 两种做法DFS和并查集 难点在管道接口的判断:将一个块变成四个点,有管道伸出就是1,否则就为0 判断两个块是否在该方向管道是想通的 用&就可以了 int pipe[][4]={ {1,0,1,0}, {1原创 2016-12-09 18:37:49 · 361 阅读 · 0 评论 -
hdu1272(并查集)
题目链接:小希的迷宫 题目分析:本题判断一个无环的无向连通图,可以用并查集来做 要求:1、只有一个根节点 2、无环,当输入的一条边的两个端点拥有一个父节点时形成环 注意:1、题目中的节点不是连续的,用vis记录出现的结点 2、注意a==b&&b==0时输出yes 代码: #pragma warning(disable:4996) #i原创 2017-01-08 17:04:37 · 244 阅读 · 0 评论