并查集
joy_go
这个作者很懒,什么都没留下…
展开
-
POJ 1703(Find them, Catch them)
题意:比较好懂,略;思路:挺不错的一个并查集的题,这里需要记录每个人的敌人,和lrj黑书上的并查集专题那题有点像,就是敌人的敌人是朋友,用个数组记录下每个人的敌人就好了,也只需记录其中一个敌人即可,因为通过一个可以找到其他的,每次有更新信息D a b的时候就让a,enemy[b]和b,enemy[a]合并,因为他们肯定是一伙的,还要注意处理合并空集的情况;询问时,当a,b在同一集合时,他们是一原创 2013-03-27 10:53:22 · 591 阅读 · 0 评论 -
Codeforces 292D
题意:一个无向图,给出m条边,有k次询问,每次询问将第l到r条边暂时删去,求这时候有多少个连通分量。思路:非常不错的一个并查集的题目,刚开始不会做,看了看网上大牛的代码,发现这题并查集用得很巧妙,首先预处理,分别从前往后和从后往前合并,从前往后的并查集用s[i]表示,代表从第1条边到第i条边的并查集,从后往前用e[i]表示,代表从第i条边到第m条边的并查集;每次询问,要将两个并查集合并原创 2013-06-01 14:08:38 · 1316 阅读 · 0 评论 -
HDU 4750(Count The Pairs)
题意:今天南京网选的一道题,题意是给定一个边权都不一样的图,然后给出10W个询问,每个询问有个w,求图中任意两点路径中满足最大边中的最小边(瓶颈边)大于等于w的(s,t)对数,不懂的看下题理解下样例吧。思路:这题数据量有点大1W个点,50W条边,暴力不太可能;首先注意到题目给出的边权都不一样,那么有一个性质可以知道了,就是图的最小生成树是唯一的,然后再按kruskal的顺序合并边,每次合并边,原创 2013-09-21 19:05:26 · 1074 阅读 · 0 评论