随笔分类 -  A-并查集

摘要:本文链接:http://www.cnblogs.com/Ash-ly/p/5932712.html 题目链接:http://codeforces.com/problemset/problem/722/C 思路: 题目给的操作数从第 1 个到第 N 个数是删除原数组中的一个数, 那么反过来从后往前就是 阅读全文
posted @ 2016-10-05 19:46 vrsashly 阅读(996) 评论(0) 推荐(0)
摘要:本文链接:http://i.cnblogs.com/EditPosts.aspx?postid=5408816 问题: 在某个城市里,住着N个人,这N个人都有自己的公司,现给出N个人的M条信息(即某两个人属于同一个公司),问这个城市最多有多少个公司。 THINK: 比如给出 10 6 1 3 3 7 阅读全文
posted @ 2016-04-19 16:45 vrsashly 阅读(364) 评论(0) 推荐(0)
摘要:本文链接:http://i.cnblogs.com/EditPosts.aspx?postid=5397634 题意: 中国和印度之间有一片地方,把这片地方抽象化,于是就可以看成一个N * M矩阵,其中黑色的代表高山不能走过去,白色的代表平原,可以 通行,人每次可以选择往上下左右四个方向移动,但是随 阅读全文
posted @ 2016-04-04 10:01 vrsashly 阅读(302) 评论(0) 推荐(0)
摘要:题意: 有N种药剂编号 1 ~ N,然后有M种反应关系,这里有一个试管,开始时危险系数为 1,每当放入的药剂和瓶子里面的药剂发生反应时危险系数会乘以2,否则就不变,给出N个药剂和M种反应关系,求最大的危险系数。 思路: 我们假设 1 ~ N 有 M 种反应关系 ,若果有反应关系的我们可以把他们看成是 阅读全文
posted @ 2015-11-08 15:34 vrsashly 阅读(486) 评论(0) 推荐(0)
摘要:题意: 这里有N个数编号1 ~N,开始每个数各自在一个集合里面,然后有三种命令: 1 P Q :把 P 所在的集合和 Q 所在的集合合并,如果已经在一个集合里面了就忽视 2 P Q : 把 P 这个元素从它所在的集合里面拿出来放到 Q 里面,,如果已经在一个集合里面了就忽视 3 P :询问 P 所在 阅读全文
posted @ 2015-11-08 15:14 vrsashly 阅读(171) 评论(0) 推荐(0)
摘要:题意:对于n个数X[0]~X[n-1],但你不知道它们的值,通过逐步提供给你的信息,你的任务是根据这些信息回答问题,有三种信息如下: I p v : Xp = v; Xp 的值为v I p q v : Xp ^ Xq = v; Xp 异或Xq的值为v Q k X1 X2 X3 ..... Xk : 阅读全文
posted @ 2015-11-08 11:26 vrsashly 阅读(384) 评论(1) 推荐(1)
摘要:题意: 有 n 个节点,初始时每个节点的父节点都不存在,你的任务是执行一次 I 操作 和 E 操作,含义如下: I u v : 把节点 u 的父节点设为 v ,距离为| u - v | 除以 1000 的余数。 E u : 询问u 到根节点的距离。 解题思路: 因为题目只查询节点到根节点的距离,所以 阅读全文
posted @ 2015-11-08 11:23 vrsashly 阅读(254) 评论(0) 推荐(0)
摘要:题意: 有一些简单化合物,每个化合物都由两种元素组成的,你是一个装箱工人、从实验员那里按照顺序把一些简单化合物装到车上,但这里存在安全隐患:如果车上存在K个简单化合物,正好包含K种元素,那么他们就会组成一个容易爆炸的混合物,为了安全起见,每当你拿到一个化合物时,如果它已经和已装车的化合物形成了易爆混 阅读全文
posted @ 2015-11-08 10:35 vrsashly 阅读(283) 评论(0) 推荐(0)
摘要:Description 当今世界有很多不同的宗教,很难通晓他们。你有兴趣找出在你的大学里有多少种不同的宗教信仰。你知道在你的大学里有n个学生(0 < n <= 50000).你无法询问每个学生的宗教信仰。此外,许多学生不想说出他们的信仰。避免这些问题的一个方法是问m(0 <= m <= n(n - 阅读全文
posted @ 2015-11-08 10:22 vrsashly 阅读(173) 评论(0) 推荐(0)
摘要:Description 严重急性呼吸系统综合症( SARS), 一种原因不明的非典型性肺炎,从2003年3月中旬开始被认为是全球威胁。为了减少传播给别人的机会, 最好的策略是隔离可能的患者。在Not-Spreading-Your-Sickness大学( NSYSU), 有许多学生团体。同一组的学生经 阅读全文
posted @ 2015-11-08 10:13 vrsashly 阅读(248) 评论(0) 推荐(0)
摘要:题意: 给你一些线段的起点和终点的坐标,最后问和某个线段相连的或者间接相连的线段有多少个(包括本身)? P X1 Y1X2 Y2 起点(X1,X2)终点(X2,Y2);按照出现次数依次编号为1,2,3,4...... Q N 问和第N个线段相交或者间接相交的线段有多少个,所谓间接相交就是如果 1 和 阅读全文
posted @ 2015-11-08 09:07 vrsashly 阅读(158) 评论(0) 推荐(0)
摘要:题意: 给你两个数代表这两个人是朋友,朋友的朋友还是朋友~~,问这些人组成的集合里面人最多的是多少。。。 思路: 属于并查集了,我用的是带路径压缩的,一个集合里面所有元素(除了根节点)的父节点都是根节点,最后统计下哪个根节点出现的次数最多就OK了~~ 阅读全文
posted @ 2015-11-08 09:03 vrsashly 阅读(175) 评论(0) 推荐(0)
摘要:题目大意: 给你两个节点,前者指向后者(可以认为前者是后者的父节点),然后让你判断是否是一棵树。 解题思路: 先说说这道题和小希的迷宫(HDU1272)那道题的区别,前者给出的两个点是有方向的,而后者是没有的,这就是唯一的区别。再者这道题其实就是让你判断所有的点最后所形成的图是否是一棵树。做这道题时 阅读全文
posted @ 2015-11-07 20:34 vrsashly 阅读(230) 评论(0) 推荐(0)
摘要:题目: 中文的~~~~ 思路: 属于并查集算法,输出YES的条件有两个,第一:每次新输入的两个数不能同属于一个集合(即根节点一样),第二:所有的输入完成后判断是否仅有一个集合(根节点只有一个)。只有这两个条件全部达成,才能输出“YES”~~~需要注意的是 直接输入“0 0”,应该输出“YES”。 阅读全文
posted @ 2015-11-07 20:27 vrsashly 阅读(211) 评论(0) 推荐(0)
摘要:题目: 中文的就不说了~~~~ 思路: 属于并查集的基础题,比较典型,可以把连通在一起的看成是一个点,假设一共有N个独立的点,那么就需要 N - 1 条边把他们连通起来,所以利用并查集算法,最后统计有多少个独立的集合,然后把这个数减去一便是我们所要的答案了~~~~ 阅读全文
posted @ 2015-11-07 19:44 vrsashly 阅读(176) 评论(0) 推荐(0)
摘要:题目大意: 有一个人要过生日了,请他的朋友来吃饭,但是他的朋友互相认识的才能坐在一起,朋友的编号从1 ~ n,输入的两个数代表着这两个人互相认识(如果1和2认识,2和3认识,那么1和3也就认识了)。问需要多少桌子。 思路: 并查集的基础题目,pre数组存的是父节点的值,root数组代表是否为根节点。 阅读全文
posted @ 2015-11-07 19:31 vrsashly 阅读(181) 评论(0) 推荐(0)