并查集
lovejl
这个作者很懒,什么都没留下…
展开
-
HDU1856
王老师要找一些男孩,越多越好,有一个房间原创 2014-11-16 16:39:50 · 423 阅读 · 0 评论 -
HDU1272
并查集的优化[编辑] 路径压缩[编辑] 刚才我们说过,寻找祖先时采用递归,但是一旦元素一多起来,或退化成一条链,每次GetFather都将会使用O(n)的复杂度,这显然不是我们想要的。 对此,我们必须要进行路径压缩,即我们找到最久远的祖先时“顺便”把它的子孙直接连接到它上面。这就是路径压缩了。原创 2014-11-16 15:13:09 · 333 阅读 · 0 评论 -
HDU1232
#include #define MAX 1005 int father[MAX],rank[MAX]; int findfather(int a){ if(father[a]==a) return a; return father[a]=findfather(father[a]); } void Union(int a,int b){ int fa=fin原创 2014-11-16 15:41:45 · 244 阅读 · 0 评论