并查集
Healer66
他是谁啊?他究竟是什么身份啊?
展开
-
HDU - 5441- Travel (并查集)
/*按 x从小到大处理:按边长从小到大处理:可达的一条边的两个点视作一个并查集合并即可*/#include <bits/stdc++.h>using namespace std;const int maxn = 20000 + 10;int father[maxn],num[maxn];int n,m,q,p,t;int a[maxn];struct nod...原创 2019-02-01 21:51:22 · 165 阅读 · 0 评论 -
天梯赛练习 L2-1 排座位 (25 分) (并查集)
布置宴席最微妙的事情,就是给前来参宴的各位宾客安排座位。无论如何,总不能把两个死对头排到同一张宴会桌旁!这个艰巨任务现在就交给你,对任何一对客人,请编写程序告诉主人他们是否能被安排同席。输入格式:输入第一行给出3个正整数:N(≤100),即前来参宴的宾客总人数,则这些人从1到N编号;M为已知两两宾客之间的关系数;K为查询的条数。随后M行,每行给出一对宾客之间的关系,格式为:宾客1 宾...原创 2019-03-26 10:14:00 · 174 阅读 · 0 评论 -
HDU - 5438 - Ponds (拓扑排序&&并查集)
题意:题意:有n个池塘和m个管道;每个池塘的价值是v, 现在要删除池塘,删除的池塘必须是最多只连接一个管道,否则会爆炸;求最后相连的池塘是奇数个的价值总和是多少。思路:拓扑排序后求和#include <bits/stdc++.h>using namespace std;const int maxn = 1e4+ 7;typedef long long ll;c...原创 2019-04-21 17:15:35 · 221 阅读 · 0 评论 -
HDU - 1811 - Rank of Tetris (并查集&&拓扑排序)
思路:先把‘=’的数合并成一个,然后拓扑排序,如果拓扑过程中可选择点的数量超过一个,则信息不完全。如果有环,说明冲突,那么num就不会到0.#include <bits/stdc++.h>using namespace std;const int maxn = 1e4 + 10;int n,m,fa[maxn],X[maxn * 2],Y[maxn * 2];i...原创 2019-04-17 19:38:04 · 179 阅读 · 0 评论