
并查集
西瓜不甜不甜不甜
这个作者很懒,什么都没留下…
展开
-
【POJ】2236 - Wireless Network
http://poj.org/problem?id=2236给定n台电脑,两台计算机的最大通信距离d,以及这些电脑的坐标。 然后有两种操作,O表示该台电脑修好;S,表示测试这两台电脑能不能进行正常的通信简单并查集。 每修好一台电脑就对其它已经修好的电脑遍历,如果距离≤d,就将他们合并。之后判断2台电脑是不是一个集合中。#include <iostream>#include <cstdio>#原创 2017-08-22 00:44:45 · 209 阅读 · 0 评论 -
【POJ】1703 - Find them, Catch them
http://poj.org/problem?id=1703N名来自两个帮派的坏东西。 2种操作: (1):给定2个坏东西不属于同一帮派。 (2):判断2个坏东西是否属于同一帮派。并查集。 设元素个数为2 * N,i表示属于帮派A,i + N表示属于帮派B,每次输入两个家伙不在同一帮派的时候,就合并他们分属两个帮派的元素。#include <iostream>#include <cstdi原创 2017-08-22 21:37:20 · 223 阅读 · 0 评论 -
L2-024. 部落 并查集
https://www.patest.cn/contests/gplt/L2-024其实是简单并查集,太久没做都忘了。#include <bits/stdc++.h>using namespace std;const int maxn=10005;int fa[maxn];int cnt[maxn];void init(){ for (int i=1...原创 2018-03-11 21:38:19 · 327 阅读 · 0 评论 -
codeforces 217A. Ice Skating DFS or 并查集
http://codeforces.com/problemset/problem/217/A坐标上n个点,从每个点四个方向可以飘到下一个点为止,求需要再多增加几个点,使得我们能从一个点飘到任意其他点。把能够互相到达的点视为一个集合,即求集合的数量-1.刚开始的DFS很失败,应该直接比较两点的x和y,而不是从一个点慢慢+1+1去判断该点是否有雪堆。或者直接裸并查集。DFS#i...原创 2018-03-19 20:39:15 · 478 阅读 · 0 评论 -
L3-003. 社交集群 并查集
https://www.patest.cn/contests/gplt/L3-003#include <iostream>#include <vector>#include <map>#include <set>#include <cstring>#include <algorithm>using namesp...原创 2018-03-26 14:11:44 · 200 阅读 · 0 评论 -
第八届蓝桥杯决赛 发现环 【dfs+并查集】
小明的实验室有N台电脑,编号1~N。原本这N台电脑之间有N-1条数据链接相连,恰好构成一个树形网络。在树形网络上,任意两台电脑之间有唯一的路径相连。 不过在最近一次维护网络时,管理员误操作使得某两台电脑之间增加了一条数据链接,于是网络中出现了环路。环路上的电脑由于两两之间不再是只有一条路径,使得这些电脑上的数据传输出现了BUG。 为了恢复正常传输。小明需要找到所有在环路上的电脑,你能帮助他吗?...原创 2018-04-25 16:39:32 · 608 阅读 · 2 评论