数据结构-并查集
愈努力俞幸运
这个作者很懒,什么都没留下…
展开
-
hdu 1198
点击打开链接题意:题目给的土地中绿色代表修好的水渠。现在有一块土地由上述11块土地组成,需要浇水,问需要打多少口井。解析:集合的并,并查集。#include<bits/stdc++.h>using namespace std;const int maxn=550;int type[11][4]={{1,1,0,0},{0,1,1,0},{1,0,0,1},{0,0,1,1},{0...原创 2018-07-01 22:58:32 · 130 阅读 · 0 评论 -
POJ 1703 Find them, Catch them(路径压缩并查集)
POJ 1703 Find them, Catch them(路径压缩并查集)2014年03月11日 20:13:54阅读数:881POJ 1703 Find them, Catch them(路径压缩并查集)http://poj.org/problem?id=1703题意: 一个城市由N个坏人,他们分别属于两个帮派.且这两个帮派里面最少都有1个人.现在给出如...转载 2018-08-21 14:23:44 · 161 阅读 · 0 评论 -
UVA 1329 Corporative Network(并查集:路径压缩)
UVA 1329 Corporative Network(并查集:路径压缩)2014年03月09日 00:19:33阅读数:914UVA 1329 Corporative Network(并查集:路径压缩)题意: 初始时有n个点(编号1到n),每个点都没有父节点,然后依次执行下面两条命令: I u v :把节点u的父亲设置为v,并且设u节点到v的...转载 2018-08-20 23:37:55 · 114 阅读 · 0 评论 -
并查集
ZOJ 3261 Connections in GalaxyWar(并查集:离线处理)两个操作,一个是查询,查询与当前节点u相连(直接或间接)的节点的编号,x要满足p[x]是所有与u相连的点中最大的解p[x]>p[u],如果有多个满足的x,输出编号最小的。这个怎么弄呢?就是用并查集维护,根结点维护最大的p[x]。第二个操作是删边,并查集都是加边?和以前的题目一样,把删边变成加边,从后往前...原创 2018-08-20 22:18:49 · 535 阅读 · 0 评论 -
计算一个连通分量中节点的个数的两种方法
POJ 1611 The Suspects(并查集)2014年03月11日 11:17:28阅读数:1027POJ 1611 The Suspects(并查集)http://poj.org/problem?id=1611题意: 现在有n个学生(从0号到n-1号),其中0号学生是有可能非典的,只要和被怀疑有非典的学生在一个社团的学生都是有可能有非典的且需要被隔离...转载 2018-08-20 20:56:09 · 1355 阅读 · 0 评论 -
并查集题目
POJ 2236 Wireless Network(并查集)怎么做呢?每修复一台电脑,就把它与所有距离它不超过D且已经被修复的电脑连通(即合并两者的连通分量)。那么每次查询只需看u,v是否属于同一个连通分量。怎么弄与它距离不超过你D的?用两个for预处理,vector[i]保存每个与i距离不超过D距离的顶点。POJ 2524 Ubiquitous Religions(并查集)这...原创 2018-08-19 21:22:35 · 274 阅读 · 0 评论 -
并查集题目
HDU 1213 How Many Tables(并查集)(1)求连通分量的个数可以用原始的连通分量的个数减去有效的合并次数,即每次合并两个连通分量就会使得总的连通分量数目 少1。 (2)可以求出一共有多少个根结点即(fa[i]==-1或x==findset(x))的个数 UVA 1160 X-Plosives(并查集)化合物不稳定,等价于有环,i与j...原创 2018-08-18 21:47:55 · 569 阅读 · 1 评论 -
统计有几个连通分量的另一种方法--hdu 1325
HDU 1325 POJ 1308 Is It ATree?(并查集)http://acm.hdu.edu.cn/showproblem.php?pid=1325题意: 一个数据结构是一颗"树",它要么是一个空要么是满足下面特性的结构: 1. 只有一个根节点,这儿根节点没有入度. 2. 除了这个根节点其他所有的节点都只有一个...原创 2018-08-18 21:14:38 · 291 阅读 · 0 评论 -
hdu 4496 并查集
点击打开链接题意: 给出一个有N(0<N<=10000)个顶点的无向图(顶点编号0到N-1), 然后依次给出它的M(0<M<=100000)条边,要求依次输出当删除给出的前k(1<=K<=M)条边后,该图的连通分量总数。 输入:第一行是N和M,然后是M行数(X,Y)(0<=X,Y<N)表示X与Y有边。 输出:...原创 2018-06-27 01:00:35 · 150 阅读 · 0 评论 -
统计有几个连通分量--hdu 1213 并查集
点击打开链接题意:T组测试用例,输入n,m,输入m对数x,y(x不等于y),表示x,y在同一个连通分量里面。输出连通分量的个数。 连通分量的个数: 1.可以求出一共有多少个根节点(即fa[i]==-1的i个数) 2.可以用原始连通分量数n 减去 有效的合并次数。即每次合并两个连通分量就会使得总的分量数目减少1.#include<bits/stdc++.h>u...原创 2018-06-27 01:48:31 · 249 阅读 · 0 评论 -
uva 1160
点击打开链接题意: 现在手上有一些化合物,每个化合物都不相同且由两个不同整数构成,当你手上存在这种情况时: 手上有至少N(N>2)个化合物且其中有N个化合物正好包含N个不同的整数(即这N个整数每个出现了2次)。那么此时化合物不稳定。比如你有化合物(1,2),(2,3),(3,1)那么就是不稳定的,但是你如果只有(1,2),(2,3) 那么就是稳定的。 ...原创 2018-07-02 23:31:04 · 127 阅读 · 0 评论 -
数据结构-并查集
又看了一个小时的dp没搞懂,转战别的hdu 4496题意:给出n个点,m条边的无向图,以此删除输入的第一条边、第二条边···第m条边,输出删除边后相应的连通分量的个数。分析: 当删除前K条边时图所剩的连通分量数 就是 N个点孤立时只添加后M-K条边时,所具有的连通分量数 所以仅需倒序插入每条边,分别保存插入边后新图所具有的连通分量数目在数组内,然后输出数组即可。#include<bit...原创 2018-06-12 01:08:05 · 164 阅读 · 0 评论 -
8.21
ZOJ 3659 Conquera New Region (并查集:维护根节点信息)现在有N个城市,N-1条线段构成的树。C(i,j)表示如果城市i和城市j之间有一条线段,那么他们之间路的容量。S(i,j)表示从i到j的路径(一条路径 由 首尾相连的多条线段构成)的容量,其等于从i到j的路径经过的连续的所有线段中的最小线段容量。现在要找一个城市,使得它到其他N-1个点的S值之和最大。先按边的容...原创 2018-08-21 22:36:24 · 163 阅读 · 0 评论