带权并查集 利用路径压缩之后,所有点到祖先距离为1,合并集合只需要更改某一祖先的权值,那么只要权值具有相对性,只需要在getfather步骤里从父节点递归获取权值即可 ...
分类:
其他好文 时间:
2017-07-22 14:38:21
阅读次数:
166
并查集是一种树型的数据结构,主要用来处理一些不相交集合的合并和更改问题。 比如找4的祖先,原来是 4->2->1,通过并查集路径压缩后,变为 4->1。也就变成了下图。 并查集的模板题: 按秩合并: ...
分类:
其他好文 时间:
2017-07-19 00:19:24
阅读次数:
192
http://codevs.cn/problem/1191/ 【思路】 每次我们染了一个区间,下一次如果还要染这个区间或者它的子区间的话,我们就不用处理了。这样我们可以把每一个区间抽象成一个点,用并查集来维护。合并时将[L,R]区间全部合并,[L,R]区间的每个点的父节点都通过路径合并变成L-1,然 ...
分类:
其他好文 时间:
2017-07-15 22:46:09
阅读次数:
278
题目链接:POJ 1988 Cube Stacking 并查集的题目 【题目大意】 有n个元素,開始每一个元素自己 一栈。有两种操作,将含有元素x的栈放在含有y的栈的顶端,合并为一个栈。另外一种操作是询问含有x元素以下有多少个元素。 用sum数组储存每一个栈中的元素个数。每次合并的时候将sum加到 ...
分类:
其他好文 时间:
2017-07-11 13:27:43
阅读次数:
169
洛谷P1551亲戚 并查集 按秩合并 + 路径压缩 ...
分类:
其他好文 时间:
2017-07-08 10:16:47
阅读次数:
154
倒序操作用并查集判断是否连通,新技能get√(其实以前就会了 这题细节很多。。。搞得整个程序都是调试输出,几度看不下去想要重写 并查集到现在大概掌握了两个基本用途:判断是否连通 / 路径压缩(上一篇blog) #include<iostream> #include<cstdlib> #include ...
分类:
其他好文 时间:
2017-06-28 23:16:31
阅读次数:
240
bzoj1576的帮我们跑好最短路版本23333(双倍经验!嘿嘿嘿 这题可以用树链剖分或并查集写。树链剖分非常显然,并查集的写法比较妙,涨了个姿势,原来并查集的路径压缩还能这么用... 首先对于不在最短路径树上的边x->y,设t为最短路径树上lca(x,y),则t到y上的路径上的点i到根的距离都可以 ...
分类:
其他好文 时间:
2017-06-27 23:33:02
阅读次数:
236
洛谷P1547 Out of Hay 最小生成树 并查集 路径压缩 ...
分类:
其他好文 时间:
2017-06-24 00:24:07
阅读次数:
132
并查集问题主要用于方便地查询任意个体间有没有关系。 初始个体间的关系没有全局性,是局部、分散的,并查集问题要根据已有的局部分散关系分析得到全局关系。 核心思想:根据关系对个体进行分类、贴标签。把属于一类的都贴上一个标签,可以清楚地分辨哪一个是哪一类,不同的是不是同一类。 具体方法: 为了给同一类贴上 ...
分类:
其他好文 时间:
2017-06-22 23:02:56
阅读次数:
209
基于size的优化 基于rank的优化 路径压缩 ...
分类:
其他好文 时间:
2017-06-02 01:11:17
阅读次数:
193