
并查集
largecub233
这个作者很懒,什么都没留下…
展开
-
并查集-洛谷P1525 关押罪犯
https://www.luogu.org/problem/show?pid=1525 我以前学的是假的并查集; 这个题目有很明显的归属关系,可一用并查集搞一搞 ~~~~; 普遍来说有两种方法; 1.权值并查集; 2.拆点并查集; 我们一个一个来; 当然他们的共同条件就是要先把边按权值递减排序,不断加入,直到无法避免矛盾,那么直接输出答案;权值并查集 这个很难解释啊; 我们定义如原创 2017-02-28 14:44:17 · 731 阅读 · 0 评论 -
并查集-POJ1733Parity game
http://poj.org/problem?id=1733 首先感谢一下poj,讨论里面数据都有; 全英文题目根本无版权问题 不像某谷省选题数据不给的; 这道题就是并查集; 给你x,y的区间,让这个区间1的数量是奇数偶数; 这道题目我做了大约两个小时; 唉~~~~ 但是毕竟是自己做出来的; 我们并查集,可以记录1~x的数的奇偶性; 然后就用拆点嘛,和监狱那题差不多; 然后就没原创 2017-02-28 22:21:37 · 517 阅读 · 0 评论 -
并查集-hdu3083-How Many Answers Are Wrong
http://acm.hdu.edu.cn/showproblem.php?pid=3038 就是给你x,y,z让[x,y]的和为z; 问顺序下去有多少错; 这可以看出并查集,就是y比x-1大z 然后如果y,z-1在同一个集合,直接验证答案; 不然就把他们合起来; 为了路径压缩,我们就要链接x-1,y的祖先; 当然我们链接x-1,y祖先的时候要保证x-1,y的距离为z; 所以这个时候原创 2017-03-01 07:51:10 · 313 阅读 · 2 评论 -
并查集-洛谷P1196 银河英雄传说
https://daniu.luogu.org/problem/show?pid=1196 自己的程序跑的好慢的哦; 我就是类似线段树的lazy思想; 别人好像比我简单诶; 并查集就是并查集,但是合并的时候好像很烦诶; 感觉比较难; 其实重点就是要深刻认识到路径压缩的过程;#include<iostream> #include<cstdio> #include<cstring> #inc原创 2017-03-24 14:43:52 · 304 阅读 · 0 评论 -
并查集-洛谷P1197 [JSOI2008]星球大战
https://www.luogu.org/problem/show?pid=1197 感觉并查集要维护删除好像很棘手; 开两个并查集也无法解决问题; 尴尬; 本着zyy大神的不是考试懒得想的理念发了一下题解; 发现只要倒着来就好了; 就是离线做; 感觉横牛逼啊;#include<iostream> #include<cstdio> #include<algorithm> #inclu原创 2017-03-29 21:29:05 · 433 阅读 · 0 评论 -
并查集——codevs 1188City战争
http://codevs.cn/problem/1188/ 我靠我不会; fop_zz教我了半天我才会的; 首先n*n的暴力就是每条线段从两个点dfs; 然后把两个点的值乘起来*2; 这就是一条的值了; 我们在考虑权值不同的情况; 我们只要把边从小到大排序然后用并查集维护就好了; 但是如果边权有相同的情况就不好搞了;有一个想法; 就是我们同一个权值的边一起加; 对于一条边,加之原创 2017-06-07 15:35:19 · 348 阅读 · 0 评论 -
cf 209 D. Connected Components
http://codeforces.com/problemset/problem/292/d 题意就是给你一个无向图; 然后每次询问l,r 表示吧l~r这段区间全部删掉最后会有几个联通块;那我们直接在结构体里面搞一个并查集; 然后一个前缀一个后缀;#include<iostream> #include<cstdio> #include<map> #define Ll long long us原创 2017-07-04 08:01:49 · 431 阅读 · 0 评论