并查集
银之夏雪
这个作者很懒,什么都没留下…
展开
-
并查集POJ1611
并查集是我暑假从高手那里学到的一招,觉得真是太精妙的设计了。以前我无法解决的一类问题竟然可以用如此简单高效的方法搞定。不分享出来真是对不起party了。(party:我靠,关我嘛事啊?我跟你很熟么?) 来看一个实例,杭电1232畅通工程 首先在地图上给你若干个城镇,这些城镇都可以看作点,然后告诉你哪些对城镇之间是有道路直接相连的。最后要解决的是整幅图的连通性问题。比如随意给你两个点转载 2015-08-20 22:34:30 · 357 阅读 · 0 评论 -
hdu1182食物链
这道题是并查集的稍微难一点的应用因为有三个元素,详细代码及讲解如下#include <iostream> #include <stdio.h> using namespace std; int pre[150005]; int find(int x) { int r=x; while(r!=pre[r]) { r=pre[r]; } int i原创 2016-03-15 18:12:37 · 784 阅读 · 0 评论 -
hdu3018并查集+欧拉回路
对于每个连通分量,若是欧拉回路则一笔画完,若不是则 需要: 奇度数点个数/2然后把每个连通分量所需的笔数相加这里要注意一个点是不用画的#include <iostream> #include <string.h> int pre[100005],flag[100005],s[100005]; using namespace std; int find(int x)//并查集模板 { int原创 2016-03-15 19:04:55 · 308 阅读 · 0 评论