并查集
陌初
我们原本便是陌生人,一如初见。
展开
-
hdu 1232 畅通工程
题目: http://acm.hdu.edu.cn/showproblem.php?pid=1232 题意: 省政府“畅通工程”的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要互相间接通过道路可达即可)。问最少还需要建设多少条道路? 题解: 并查集,道路互相连通的则属于同一个集合,求出不同集合数即可 代码如下:原创 2015-04-05 19:06:14 · 329 阅读 · 0 评论 -
hdu 1233 还是畅通工程
题目: http://acm.hdu.edu.cn/showproblem.php?pid=1233 题意: 又是建公路,已知有n个村子,告诉你相邻两个村子的距离,求建成公路的最小长度 思路: 有两种方案啊,可以并查集来做,也可以最小生成树prim算法做,至于选择方案当然是随便啦 代码一: //并查集#include #incl原创 2015-04-08 19:37:14 · 355 阅读 · 0 评论 -
hdu 1213 How Many Tables
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1213 题意: 已知m,n,m代表朋友的数量,有n组人相识,相识的人可以坐一张桌子,求至少需要安排几张桌子。 代码如下: #include int a[1010]; int find(int x) { return x==a[x]?x:find(a[x]);原创 2015-04-08 19:23:08 · 355 阅读 · 0 评论 -
hdu 1272 小希的迷宫
题目: 题意: 代码如下: #include int pre[100001],max; int flag,a[100001],b[100001]; int find(int x) { return pre[x]==x?x:find(pre[x]); } void join(int x,int y) { int fx=find(x); int fy=find(y)原创 2015-04-08 20:19:41 · 330 阅读 · 0 评论