并查集
Fizzmy
这个作者很懒,什么都没留下…
展开
-
Codeforces875 F-神奇图论
Codeforces875 F-Royal Questions 传送门 题意: n个王子,m个公主,给出第i个公主可以嫁给的两个王子ai,bi以及嫁妆,每个王子只能娶一个公主,公主只能在两个中选一个,求最大嫁妆。Solution: 这题乍一看是一个二分图匹配,但是思考良久发现不可做,于是决定转化思路,首先想到了贪心:首先按照嫁妆把这m组数排序,然后贪心的去搞,但是怎么判断具体嫁给那一个...原创 2017-10-19 20:13:13 · 1649 阅读 · 0 评论 -
Codechef MARCH14 GERALD07-莫队+并查集
传送门 这道题也是bzoj3514离线版 题意: 给你n个点,m条边,询问k个区间[L,R],求只保留[L,R]间的边,有多少个联通块。n,m,k<=200000Solution: 既然是离线那么显然可以搞事[滑稽],询问区间有什么暴力方法呢?莫队!因为在图上所以每次操作不是O(1)O(1),感觉似乎可以用并查集的样子呢,算一下复杂度为O(nn√α)O(n\sqrt n α)也是可以原创 2017-11-23 15:32:31 · 513 阅读 · 0 评论 -
HDU6074 Phone Call-并查集
题意: 给你一棵树,m个条件,每个条件给出a,b,c,d,w,表示a到b和c到d路径上的点互相到达需要w的代价,现求从1号点出发能到达哪些点以及最小代价。Solution: 不难发现这是要构造一颗最小生成树,把w按照从小到大排一遍序,对于每个条件,求出a,b的LCA和c,d的LCA,把经过他们的点都加入一个并查集中(类似Kruskal),但是暴力跳路径会T掉,所以我们就再引入一个并查集:原创 2017-12-26 16:12:15 · 228 阅读 · 0 评论 -
AtCoder AGC14E-Blue and Red Tree 并查集+启发式合并+STL
传送门题意:给出一颗树,初始每条边是蓝色,可以选择一条全是蓝色的路径,删去其中一条边,在这条路径的两个端点连上一条红色边,现给你两棵树,判断第一棵树能不能变成第二棵树(n<=1e5)Solution:我们只考虑蓝色边,注意到这是一棵树,所以每次删除一条边后会把图分成两部分,分成两部分后就不会出现不同部分的点之间有全是蓝色的路径这种情况,那么我们就可以把这两部分递归来处...原创 2018-02-20 18:04:40 · 252 阅读 · 0 评论 -
HDU6109 数据分割-并查集+启发式合并
传送门 题意:给出一些限制形如xi≠xjxi≠xjx_i \neq x_j或xi=xjxi=xjx_i = x_j判断最早出现矛盾的位置(n<=1e5)Solution:等于关系满足传递性,可以用并查集来维护而不等关系呢?可以这样做:把相等元素放在一个集合里,每个集合看做一个点,出现不等关系时,我们把这两个不等元素所在的集合直接互相连边,合并两个集合时顺带处理...原创 2018-02-20 18:19:29 · 388 阅读 · 3 评论