<题目链接>

题目大意:

利用并查集找出图中有几个不连通的城镇集合,所需修的道路数即为城镇集合-1。

#include <stdio.h>
int pre[]; int find(int x)
{
int r = x;
while (pre[r] != r)
r = pre[r];
int i = x; int j;
while (pre[i] != r)
{
j = pre[i];
pre[i] = r;
i = j;
}
return r;
} void join(int a,int b)
{
int f1 = find(a);
int f2 = find(b);
if (f1 != f2)
{
pre[f2] = f1;
}
}
int main()
{
int n, m, i, j,ans,a,b;
while (scanf("%d%d", &n, &m) != EOF, n)
{
for (i = ; i <= n; i++)pre[i] = i;
for (i = ; i < m; i++)
{
scanf("%d%d", &a, &b);
join(a, b);
}
ans = ;
for (i = ; i <= n; i++)
{
if (pre[i] == i)ans++; //记录下这个图中有几个联通分支
}
printf("%d\n", ans - );
}//联通所需的道路就是联通分支数-1
return ;
}

2018-04-02

HDU1232——畅通工程【并查集】的更多相关文章

  1. HDU1232 畅通工程 并查集

    畅通工程 Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submis ...

  2. hdu1232 畅通工程 并查集的 应用

    畅通工程 Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

  3. HDU1232 畅通工程 (并查集模板题)

    畅通工程 Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submis ...

  4. hdu1232畅通工程(并查集,简单题)

    传送门 最少好要修多少条路太能使全部城镇连通.只要用并查集算可以连通的城市的组数,修的路就是组数减1 #include<bits/stdc++.h> using namespace std ...

  5. HDU-1232/NYOJ-608畅通工程,并查集模板题,,水过~~~

    畅通工程 Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) http://acm. ...

  6. ACM: 继续畅通工程-并查集-最小生成树-解题报告

    继续畅通工程 Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Submit Status Descri ...

  7. ACM: 畅通工程-并查集-解题报告

    畅通工程 Time Limit:2000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Description 某省调查城镇交通状况 ...

  8. B - 畅通工程(并查集)

    对并查集理解之后就可以做这种题了,虽说这种题做的不多,这道题做过才这么快搞定,可是还是挺happy滴,加油 Description 某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接 ...

  9. NSOJ 畅通工程(并查集)

    某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇.省政府“畅通工程”的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要互相间接通过道路可达即可). ...

  10. hdu 1233 还是畅通工程 并查集or最小生成树

    某省调查乡村交通状况,得到的统计表中列出了任意两村庄间的距离.省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可),并要求铺设的公路 ...

随机推荐

  1. ionic3 出现莫名广告

    应用上线出现 有莫名其妙的广告弹出. 1,DNS被劫持 2,第三方包带广告 3,Http被劫持 wifi和4G网都出现了广告,所以可以直接排除DNS被劫持的问题 广告页只会在H5的页面出现,所以基本可 ...

  2. yum安装软件内容

    linux  yum源改为阿里yum源 1.备份 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.back ...

  3. cf861D 字典树+时间戳

    好久没碰字典树之类的题了,搞起来有点生疏 /* 把所有母串的后缀加入字典树中 然后再扫一次所有母串的后缀,把后缀放到字典树中查询,找到第一个访问次数为1的结点返回即可 num在计数时,同一个母串的子串 ...

  4. PyCharm新建.py文件时自动带出指定内容

    如:给Pycharm加上头行  # coding:utf-8File—Setting—Editor--Code Style--File and Code Templates--Python Scrip ...

  5. Allegro PCB Design GXL (legacy) 刷新PCB封装(Package)中的焊盘(Padstack)

    Allegro PCB Design GXL (legacy) version 16.6-2015 “人有失足,马有失蹄”. 像这个电位器的封装的Pin 6,在制作Padstack时,因没有添加SOL ...

  6. AI学习吧-支付宝支付

    支付宝支付流程 1.接收前端发过来的贝里数和结算金额 2.检查贝里数是否够用 3.获取结算中心的课程并应用优惠券 4.应用未绑定课程的优惠券 5.判断总价格减去优惠券价格是否等于实际支付金额 6.生成 ...

  7. css 清除浮动的几种方式

    1.给浮动的元素的父级添加 overflow:hidden;属性 ul>不浮动 添加overflow:hidden; li>浮动 2.给浮动的元素的父级添加after伪类 ul:after ...

  8. MySQL表按月切割

    按月份切割MySQL表数据: 千万级别的数据量也可在毫秒内完成切割操作 注:数据无价请提前自行备份 #!/bin/bash USERNAME=MySQL_user PASSWORD=MySQL_pwd ...

  9. C#递归拷贝文件删除文件

    拷贝文件及子文件,最后一个参数排除,哪个不要删除.(其实就是移动的效果) //拷贝文件及子文件 public static void CopyDirectory(string src, string ...

  10. 真的分治fft

    以前学的分治fft f[i]=sigma(f[i-x]*g[x]),其中g[x]已知 那么我们可以用cdq分治来做(l,mid 对mid+1,t的影响) 而现在的$f[i]=sum(f(i-x)*f( ...