并查集
Marcus-Bao
这个作者很懒,什么都没留下…
展开
-
POJ 1703 Find them, Catch them 关系并查集
H - Find them, Catch themTime Limit:1000MS Memory Limit:10000KB 64bit IO Format:%lld & %lluSubmit StatusDescriptionThe police office in Tadu City decides to say ends to t原创 2016-11-16 20:28:19 · 454 阅读 · 0 评论 -
vijos 幼儿园战争 带删除的并查集
题目链接题意: 这个题就是个裸的带删除的并查集。思路: 并查集都是单向的,我们只知道某一堆的父亲是谁,并不知道儿子,我们将一个点从已知的堆分离出来,如果该点是儿子那很简单,但麻烦的是如果该点是父亲怎么办,那不乱套了么? 我们在合并的时候可以将要分离的点i 复制一下,(编号为cnt++)。当做新的节点扔到新的堆里,原来的保留仅仅是起到了一个编原创 2017-09-11 13:29:38 · 320 阅读 · 0 评论 -
HDU - 5441 Travel 离线+并查集
传送门题意:有一个n个点的无向图,给出m条边的边权,给出q次询问,每次给出一个值,求用到所有边权不大于这个值的边的情况下,能够互相到达的点对的个数(自己到自己不算)思路:考虑到q为5000,我们可以离线所有的查询,将所有边按照权值从小到大排序,询问也按照从小到大排序.统计点对数量可以采用并查集来维护,同时num标记每个集合的点数。合并时: ans原创 2017-09-23 00:17:48 · 229 阅读 · 0 评论 -
广工oj 1231 && 51nod 1821 加强版 思维+并查集 OR 栈
题目链接 这个应该是最基础的一道题目了.假设当时我们可以凑出(0,n)的所有数,那么只有当来的数x满足 n+1 >= x 才能保证凑出新的(0,n+x)的所有的数.否则若x为n+2 那么就无法凑出n+1 等等.所以这个题目直接排个序,然后扫一遍 直到 ans+1 int a[N];int main(){ int _,n;原创 2017-08-18 12:41:22 · 871 阅读 · 0 评论 -
csu 1949 小明的烦恼 并查集+权值线段树
题目链接思路:首先,对于每个员工之间的合并,可以采用线段树来解决这件事.那么主要的问题就是如何求这个集合中第k大的数.这里采用权值线段树来合并,大体的权值线段树,就是我们当时用来求逆序数的用法。题目中是2e5的数据范围,那么我们初始对每个员工建立一个树,然后记录下他的根节点和他的左右子节点,合并时,将两个团队所在树的根节点的合并就好,#include#define原创 2017-06-14 14:17:16 · 551 阅读 · 0 评论 -
蓝桥杯 国王的烦恼 逆向并查集建树
题目链接思路: 按照题目的要求的话我们有一个特别简单粗暴的做法,那就是对于每次不能用一条边,我们就对剩下的边求一下连通分量,但是m那么大肯定T了,对此我们有一个简单的做法那就是从后往前逆向考虑. 我们将所有的边按照所能使用的天数从大到小排序,然后用并查集维护一下,每判断一条边时就需要判断这两个点是否已经连通,如果连通就说明不需要抱怨,否则就要抱怨.另外注意需要记原创 2017-05-26 23:13:35 · 435 阅读 · 0 评论 -
CodeForces - 366D Dima and Trap Graph
题目链接题意:有n个点m条无向边。初始你需要选择一个整数x,走第i条边的限制为Li 思路: 这个题好多做法....首先我们可以先明确判断能否从1到达n 可以用并查集或者dfs 那么对于并查集,我们可以想一下,我们已知区间的左端点,通过维护区间的右端点,就可以找到一个区间,那么我们就以所有路径的为起点,以其左端点为基础去维护右端点找到最大值..这个过程中用并查集来判断1-n是原创 2017-03-09 23:40:35 · 340 阅读 · 0 评论 -
CodeForces - 357C C - Knight Tournament 并查集or set模拟
Hooray! Berl II, the king of Berland is making a knight tournament. The king has already sent the message to all knights in the kingdom and they in turn agreed to participate in this grand event.As原创 2016-12-11 16:09:09 · 829 阅读 · 0 评论 -
nyoj 42 一笔画问题 dfs或并查集判断连通
一笔画问题时间限制:3000 ms | 内存限制:65535 KB难度:4描述zyc从小就比较喜欢玩一些小游戏,其中就包括画一笔画,他想请你帮他写一个程序,判断一个图是否能够用一笔画下来。规定,所有的边都只能画一次,不能重复画。 输入第一行只有一个正整数N(N每组测试数据的第一行有两个正整数P,Q(P随后的Q行,每行有原创 2016-11-02 20:52:51 · 748 阅读 · 0 评论 -
POJ 1611 The Suspects 并查集
N - The SuspectsTime Limit:1000MS Memory Limit:20000KB 64bit IO Format:%lld & %lluSubmit StatusDescriptionSevere acute respiratory syndrome (SARS), an atypical pneumonia原创 2016-11-13 21:18:38 · 620 阅读 · 0 评论 -
HDU - 4424 Conquer a New Region 思维+并查集启发式合并
题目链接题意:给n个城镇,然后每两个城镇的价值给出,但是u->v的价值是u->v这条路径上的最小值,问从任意一个点出发到其他位置的和的最大值思路:很好的一个并查集题目,和队友想了一会才想出来.说实话这个并查集不是很好想。因为这个题目是路径上的最小值为sij,所以我们要将边的权值从大到小排序,这样在用并查集维护两堆合并的最优值时,假设祖先分别为f1和f2,首先内部我们原创 2017-09-30 22:57:53 · 312 阅读 · 0 评论