并查集
Bug原产地
这个作者很懒,什么都没留下…
展开
-
有向图找环( 并查集 )
假设有一条 x−>yx->yx−>y 的有向边,当建立连接时,更新xxx的父节点,同时更新xxx 到父节点的距离 len[x]=len[y]+1len[x]=len[y]+1len[x]=len[y]+1若父节点相同说明存在环,环的大小为 len[x]+len[y]+1。len[x]+len[y]+1。len[x]+len[y]+1。#include<bits/stdc++.h>#define LL long long#define pii pair<LL,LL&原创 2020-06-28 16:41:59 · 3526 阅读 · 2 评论 -
牛客小白月赛25 C-白魔法师 ( 图论 + 并查集 )
题目链接解题报告:思路:如果将一个黑色点染成白色,那么将得到一个白色连通块,这个连通块由和这个黑色点连结的所有白色连通块组成。如果将一个白色点染成白色,那么不会有任何变化。所以我们可以先并查集预处理一下,把所有白色连通块的大小求出来,并把所有白色点对应的连通块表示一下。连通块的大小可以dfs或者统计并查集根的孩子总数得出。然后统计所有黑色点的邻点连通块大小即可。要注意特判全部是白色点的情况#define first f#define second s#define ll long long原创 2020-05-20 17:40:24 · 277 阅读 · 0 评论