ACM_并查集
文章平均质量分 83
逍遥丶綦
这个作者很懒,什么都没留下…
展开
-
前缀并查集 Codeforces292D Connected Components
传送门:点击打开链接题意:给出n(思路:连通块肯定想到用并查集去维护。然后看到n比较小,所以可能可以每次查询里面复杂度带有n。因为删边用并查集不是很好维护,所以我们可能要想到能不能避免边的删除,那么很容易的想到前缀和思想。用PL[l]来保存[1,l]前l条边组成的图里面的并查集父节点的情况;用PR[r]来保存[r,n]后r条边组成的图里面的并查集父节点的情况;那么对于每原创 2015-12-22 23:51:02 · 1183 阅读 · 0 评论 -
左偏树+并查集 hdu1512 Monkey King
传送门:点击打开链接题意:很多只猴子,每个猴子有个强壮值,一开始每只猴子都不认识。会有m次冲突,每次冲突的两只猴子如果不认识,就会各自在认识的人中各找一个最强壮的人打架,打完后打赢的那个人的强壮值会减半,并输出减半后的值,然后猴子两边的人都会互相认识成为朋友(所谓不打不相识..),如果两只猴子冲突但是已经认识了,那么就输出-1思路:左偏树上次翻论文无意中发现的,感觉这种数据结构好66666原创 2015-10-27 22:46:44 · 924 阅读 · 0 评论 -
并查集+二分 hnu13433 Dragons
传送门:点击打开链接题意:有N个城市,M条双向边,K条龙。第i条龙在Ci城市,初始有Si个头,如果龙还活着,每一分钟增加Ci个头一个勇士1分钟可以砍一个龙的头,也可以选择移动到当前城市周围相邻的城市去不限定时间的前提下,至少要召集多少勇士,才能把所有的龙全部杀掉勇士的初始位置可以是任意的 思路:这道题出的非常好,但是却一下子很难想。首先,可以想到,这个图可能并不原创 2015-10-05 17:19:02 · 919 阅读 · 0 评论 -
离线+并查集 hdu5441 Travel
传送门:点击打开链接题意:给n个点,m条有权值的无向边,求存在多少个点(a,b) (a!=b),使得a到b至少有一条路径上的边最大权值小于等于x思路:将边读入排序,再先将x排序,初始化并查集,用并查集维护一个联通分量中的点的个数,让ans等于0按照边的权值从小到大添加边到图中,首先考虑如何更新ans添加的某条边如果是(u,v),如果u和v本身就连通了,那么再添加这条边并不会改变an原创 2015-09-13 23:58:13 · 932 阅读 · 0 评论 -
并查集 bnuoj51275 道路修建 Large
传送门:点击打开链接题意:多次操作,操作1给两点之间增加一条边并求当前连通块数量,操作2求两点最早连通的时间,强制在线。思路:q巨虐我千百遍第一个思路想到可持久并查集+二分,因为很容易想到,然后只过了small的,large的T了其实这题的思路比可持久并查集更简单。并查集有两种方法来保持复杂度不退化,一种是路径压缩,一种是按照秩来做启发式合并,一般情况下我们都是写第一种这里原创 2016-02-05 15:02:20 · 873 阅读 · 1 评论 -
并查集 hdu3038 How Many Answers Are Wrong
传送门:点击打开链接题意:有Q次操作,每次操作告诉你l,r,s,表示区间[l,r]里的和为s。如果某次操作与之前得到的内容冲突,就无视这次操作,最后输出冲突的操作次数。思路:首先我们可以证明,只有当[l,r]存在多种情况被小区间恰好覆盖时,然后多种情况的小区间之和不相等时,就认为是冲突的。我们能比较容易的想到把l-1,和r去维护并查集,但是如何维护s,是个问题如果按秩合并,我们可以原创 2016-04-07 22:31:25 · 349 阅读 · 0 评论 -
并查集 hdu5652 India and China Origins
传送门:点击打开链接题意:告诉你地图的大小,每年有的地方会长出山峰,问什么时候两端开始不连通的。思路:先到最后一年,就是长出很多山峰时开始。之后相当于把山峰拆掉,所以就是把4个方向的空地用并查集合并,然后判断两端是否已经连通。就这样倒着xjb搞,就能出答案了,注意点细节和输出答案的时间就行了#include #include #include #include #inc原创 2016-03-27 22:00:19 · 630 阅读 · 0 评论