随笔分类 -  -----数据结构 1.并查集

摘要:题目链接:hdu 6200 mustedge mustedge mustedge 题意: 一开始给你一个有n个节点m条无向边的图,现在定义mustedge为u->v的路径上必须经过的边。 现在有q个操作: 1 x y x->y加条无向边 2 x y 查询x->y上有多少条mustedge。 题解: 阅读全文
posted @ 2017-10-17 19:52 bin_gege 阅读(240) 评论(0) 推荐(0)
摘要:题目链接:hdu 4775 Infinite Go 题意: 给你n步下黑白子棋的过程,问你最后黑棋剩多少,白棋剩多少(围棋规则) 题解: 并查集模拟一下,用并查集记录一下链以及周围空白棋子的个数。 注意棋盘边上的旗子可能被围死。 1 #include<bits/stdc++.h> 2 #define 阅读全文
posted @ 2017-10-10 20:39 bin_gege 阅读(281) 评论(0) 推荐(0)
摘要:题目链接:hdu 6109 数据分割 题意: 给你一些不等和相等关系,然后分割,每次都按第一个不成立的等式分割。 题解: 由于相等关系具有传递性,不等关系不具有传递性。 所以相等关系可以由并查集来存储,不相等关系用set来存,目的是为了让查找log(n) 然后在两个集合进行合并的时候,要采用启发式合 阅读全文
posted @ 2017-08-14 15:20 bin_gege 阅读(210) 评论(0) 推荐(0)
摘要:题目链接:hdu 6039 Gear Up 题意: 给出一些齿轮,有些齿轮是边相连,也就是拥有相同的线速度,有的齿轮是轴相连,也就是拥有相同的角速度,现在给某个齿轮一个速度,求这些齿轮中的最大速度,同时还有修改操作,可以更改某个齿轮的半径大小 题解: 官方题解: 1 #include<bits/st 阅读全文
posted @ 2017-07-26 21:32 bin_gege 阅读(295) 评论(0) 推荐(0)
摘要:题目链接:hdu_5354_Bipartite Graph 题意: 给你一个由无向边连接的图,问对于每一个点来说,如果删除这个点,剩下的点能不能构成一个二分图。 题解: 如果每次排除一个点然后去DFS判是否为二分图,那肯定会超时。 我们可以知道,删除其中一个点,对其他好多的边都不会有影响,所以我们可 阅读全文
posted @ 2016-11-21 12:26 bin_gege 阅读(235) 评论(0) 推荐(0)
摘要:D. Fix a Tree time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output D. Fix a Tree time limit p 阅读全文
posted @ 2016-07-20 10:45 bin_gege 阅读(158) 评论(0) 推荐(0)
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1558 题意:P为画线段,Q为询问当前这条线段所在的集合有多少线段 题解:如果两条线段有交点,那么就连接这两个集合 1 #include<cstdio> 2 #define FFC(i,a,b) for( 阅读全文
posted @ 2016-05-25 22:10 bin_gege 阅读(279) 评论(0) 推荐(0)