并查集
Link_Ray
这个作者很懒,什么都没留下…
展开
-
并查集详解生动形象,hdu1232
并查集是我暑假从高手那里学到的一招,觉得真是太精妙的设计了。以前我无法解决的一类问题竟然可以用如此简单高效的方法搞定。不分享出来真是对不起party了。(party:我靠,关我嘛事啊?我跟你很熟么?) 来看一个实例,杭电1232畅通工程 首先在地图上给你若干个城镇,这些城镇都可以看作点,然后告诉你哪些对城镇之间是有道路直接相连的。最后要解决的是整幅图的连通性问题。比如随意给你两个点,让你判断它们转载 2017-09-22 22:33:18 · 319 阅读 · 0 评论 -
HDU1213基础并查集
题意: 今天是Ignatius的生日,他邀请了许多朋友,现在他需要对这些朋友分桌,这些朋友只和认识的人坐在一起,例如A认识B,B认识C,则ABC可以在一桌,若A认识B,B认识C,D认识E,则ABC一桌,DE一桌。(Ignatius不考虑在内)分析: 基础的并查集(关于什么是并查集可以查看这里:http://blog.csdn.net/link_ray/article/details/780675原创 2017-10-10 22:21:04 · 358 阅读 · 0 评论 -
codeforces 1137F.Asya And Kittens(并查集合并)
https://codeforces.com/contest/1131/problem/F题意有n个数放在n个格子中,现在给出n-1个对(a,b),每输入一对就可以拿掉两个格子之间的挡板使得(a,b)在一个格子中,输出一段可行的序列。输入保证a,b不在一个格子中。例如input51 42 53 14 5output3 1 4 2 5题解本质上是一个连通块合并的...原创 2019-02-24 16:29:17 · 460 阅读 · 0 评论 -
并查集的路径压缩上的一些操作
题意如果Y不在X所在的对立里的话,将Y所在的队列插入到X所在的队列后面,并询问某个人后面有多少人。题解使用并查集,将一个队伍插入到另一个队伍后面,将会改变一个队伍里面某个人后面的人数值,如果暴力修改很耗时间,所以采用并查集的做法,两个队伍合并的时候,将X的队尾连上Y的队头,这时候知道X的后面的人数便是Y里面的人数,那X队伍里面的人呢?这时候就用到了并查集路径压缩的过程。在路径压缩的过程中...原创 2019-03-10 20:42:22 · 191 阅读 · 0 评论 -
【NOIP】关押的罪犯(二分图判断 || 并查集)
题解二分答案+二分图判定:二分出最大的仇恨值mid,然后只考虑大于mid的边,因为只能分成两个集合,所以只要判断这个图是否是个二分图即可。并查集:令i+n是i的敌人,如果u是v的敌人,那么u与v+n属于一类人可以合并。将仇恨值从大到小排序,按照kruscal合并的思想,如果遇到u,v是同一类的时候break(说明u,v已经在两个监狱中了),否则将u,v与其同类合并(放入两个监狱)。代码二...原创 2019-04-09 22:43:50 · 209 阅读 · 0 评论