![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构---并查集
forezxl
水君一枚
展开
-
BZOJ 3376: [Usaco2004 Open]Cube Stacking 方块游戏
带权并查集原创 2017-09-17 20:43:30 · 326 阅读 · 0 评论 -
BZOJ4243: 交朋友
并查集 BFS BZOJ题目传送门 如果一个联通块里有一条双向边,这个联通块就构成了一个完全子图。 把原图中所有能开的会议都开掉,那么剩下的所有边都可以合并两个联通块。把这些点扔进队列里BFS就好了 代码: #include<cctype> #include<cstdio> #include<cstring> #include<algorithm> ...原创 2018-09-24 21:48:01 · 222 阅读 · 0 评论 -
BZOJ3673 可持久化并查集(洛谷P3402、BZOJ3674)
BZOJ3673: 可持久化并查集 by zky(洛谷P3402、BZOJ3674) 主席树 并查集 洛谷P3402 BZOJ3673 BZOJ3674 可持久化并查集其实就是并查集+可持久化数组。可持久化数组用主席树实现,把主席树的叶子节点当做数组即可。路径压缩的并查集复杂度是不对的(可以连一条很长的链再回去),因此只能用按秩合并(按最大深度的启发式合并)。 代码: #includ...原创 2018-09-06 18:46:56 · 194 阅读 · 0 评论 -
BZOJ4551 [Tjoi2016&Heoi2016]树(洛谷P4092)
并查集 BZOJ题目传送门 洛谷题目传送门 先离线把所有标记都打上,然后倒着做,并查集维护当前节点的答案。如果是修改操作把当前节点并到它父亲上去,否则找一次爸爸就好了。 代码: #include<cctype> #include<cstdio> #include<cstring> #include<algorithm> #define ...原创 2018-09-07 19:58:18 · 138 阅读 · 0 评论 -
BZOJ2959 长跑
LCT 并查集 BZOJ题目传送门 LCT维护双连通分量。 如果没有1操作可以Tarjan+树剖水过,现在是动态的话就用LCT维护。 当AAA和BBB不连通时直接连起来。当AAA和BBB已经连通时,把它们所在的双连通分量缩到一个点上。具体操作为先把AAA和BBB搞到同一个Splay里,然后遍历Splay,用并查集把所有点都缩到一个点上去并把权值赋给它。 判断是否连通可以直接用LCT,然而...原创 2018-07-13 20:57:45 · 238 阅读 · 0 评论 -
BZOJ4195 [Noi2015]程序自动分析(洛谷P1955)
并查集 BZOJ题目传送门 洛谷题目传送门 应该挺好想的并查集。 先离散化一波,然后把条件排个序,把相等的排前面。扫一遍过去,先把相等的都连好,如果有不相等的但是在同一个块中就退出判NONONO,否则就是YESYESYES。 没清零+数组开小RE4发。。。 代码: #include<cctype> #include<cstdio> #include<cs...原创 2018-07-07 14:27:26 · 213 阅读 · 0 评论 -
BZOJ1202 [HNOI2005]狡猾的商人(洛谷P2294)
带权并查集 BZOJ题目传送门 洛谷题目传送门 之前做过几乎一样的题目(这里),然而忘光了 记wiwiw_i表示根节点到iii这段时间的盈利,当xxx和yyy不属于同一个根节点时,更新wrt[y]=wx+z−wywrt[y]=wx+z−wyw_{rt[y]}=w_x+z-w_y并合并。当属于同一个根节点时判断wy−wxwy−wxw_y-w_x是否=z=z=z。 代码: #include...原创 2018-07-03 20:57:56 · 306 阅读 · 0 评论 -
BZOJ1854 [Scoi2010]游戏(洛谷P1640)
并查集 BZOJ题目传送门 洛谷题目传送门 一点都不会的神题。 这道题网上大致有两种解法:二分图最大匹配和并查集,这里采用并查集。 二分图做法:把属性值当成左边的点,装备编号当成右边的点,每次读入时连a→ia→ia\rightarrow i和b→ib→ib\rightarrow i的边。正确性挺显然的,也好理解,但是时间复杂度很迷。 并查集做法:把每个装备看作一条边,属性值当作点的编号...原创 2018-06-06 11:53:58 · 165 阅读 · 0 评论 -
BZOJ1015 [JSOI2008]星球大战starwar(洛谷P1197)
并查集 BZOJ题目传送门 洛谷题目传送门 因为删点很难搞,我们考虑倒过来加点,这样就很简单了。并查集直接上就行了。 注意一些细节。 代码: #include<cctype> #include<cstdio> #include<cstring> #include<algorithm> #define N 400005 #define F ...原创 2018-05-20 17:42:45 · 227 阅读 · 0 评论 -
CODEVS 2456 奇偶游戏
带权并查集原创 2017-09-20 21:25:22 · 305 阅读 · 0 评论 -
RQNOJ PID36 数石子
带权并查集原创 2017-09-20 21:21:23 · 402 阅读 · 0 评论 -
洛谷 P1196 银河英雄传说
带权并查集原创 2017-09-17 12:33:47 · 280 阅读 · 0 评论 -
洛谷P2024 食物链 (POJ 1182)
经典并查集原创 2017-09-18 20:48:03 · 416 阅读 · 0 评论 -
BZOJ3624: [Apio2008]免费道路(洛谷P3623)
并查集 BZOJ题目传送门 洛谷题目传送门 做两遍生成树,第一遍优先选111边求出必须选的000边。第二遍先把必选的000边选了,再选满kkk条000边就好了。 注意判no solution\text{no solution}no solution的三种情况:图不连通或000边个数&lt;k&lt;k<k或必选000边个数&gt;k&gt;...原创 2018-10-14 21:10:49 · 152 阅读 · 0 评论