并查集
_Mocha_
私はこの世界を深く愛している
展开
-
[BZOJ1050][HAOI2006]旅行comf(并查集)
并查集解决无向图的问题原创 2017-12-22 14:03:31 · 281 阅读 · 0 评论 -
[BZOJ3444]最后的晚餐(并查集+组合数学)
传送门用并查集维护关系,注意顺着可以,逆着也可以,所以最后统计答案要算二的幂 然后注意判断无解的情况: 1、显而易见的,一个人不能同时喜欢三个人 2、成长度大于2的环 3、注意在2中如果两个人互相喜欢是可以的!累计答案用全排列(也就是f(n)=n!),因为绕着圈子怎么坐都行嘛。#include<cstdio>#include<iostream>...原创 2018-03-25 14:14:39 · 336 阅读 · 0 评论 -
并查集的路径压缩和按秩合并
记录一下并查集的两种优化:路径压缩路径压缩是并查集最常用的一个优化之一,他可以优化查询的速度。我们发现,在普通的并查集中,如果我们要询问一个元素所属哪个集合,我们只关心集合的代表是谁(也就是并查集树形结构中的树根是谁),而并不关心树的形态。那么我们可以在每次执行往上找根节点的时候,把路径上所有的元素的父亲全部指向树根(也就是通过改变树结构,降低了树的高度,增快了我们的查询速度),这样的...原创 2018-09-08 16:49:46 · 1630 阅读 · 7 评论 -
[poj1182]食物链 & [poj2912]Rochambeau (边带权和扩展域并查集模型)
传送门【poj1182】传送门【poj2912】这两题之所以可以放在一起讲,一是他们的所求内容高度相似,其次是他们都属于边带权或者拓展域的并查集的基本模型。这两题的核心思路就是维护三个集合A,B,C,使得他们里面的元素满足A吃B,B吃C,C吃A。 那么这样的具有传递性的关系以及维护他们的连通情况考虑并查集求解。边带权解法:先来说边带权的解法,所谓边带权就是并查集的边上带有权值表示,同时...原创 2018-09-19 20:31:36 · 462 阅读 · 1 评论