hdu 1213 求连通分支个数
来源:互联网 发布:使命召唤13优化怎么样 编辑:程序博客网 时间:2024/06/05 13:26
题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=1213
对这个问题抽象之后,就是要求进行若干次union操作之后,还会剩下多少颗树(或者说还剩下多少Connected Components)。反映到这个例子中,就是要求有多少“圈子”。其实,这也是社交网络中的最基本的功能,每次系统向你推荐的那些好友一般而言,会跟你在一个“圈子”里面,换言之,也就是你可能认识的人,以并查集的视角来看这层关系,就是你们挂在同一颗树上
/*用原始连通分量数n 减去 有效的合并次数。
即每次合并两个连通分量就会使得总的分量数目减少1*/
#include <iostream>
#include <cstring>
using namespace std;
const int maxn=1000+5;
int fa[maxn];
int Find(int x)
{
if(fa[x]==-1)
return x;
return fa[x]=Find(fa[x]);
}
int mix(int x,int y)
{
int fx=Find(x);
int fy=Find(y);
if(fx!=fy)
{
fa[fx]=fy;
return 1;
}
return 0;
}
int main()
{
int t,n,m,x,y;
cin>>t;
while(t--)
{
cin>>n>>m;
memset(fa,-1,sizeof(fa));
int ans=n;
while(m--)
{
cin>>x>>y;
ans-=mix(x,y);
}
cout<<ans<<endl;
}
return 0;
}
- hdu 1213 求连通分支个数
- hdu 1241 dfs求连通分量个数
- HDU 1241 dfs求连通块个数
- POJ2117_Electricity_求删除割点后最大连通分支的个数_tarjan
- hdu 1232 畅通工程 求连通分支数
- hdu 1232 并查集 求连通分量的个数
- POJ--2180[The Cow Prom] 求结点>=2的的强连通分支个数
- hdu4496 求连通分量个数
- poj 1562 ,hdu 1241 Oil Deposits dfs,bfs 求连通分支数
- 图 求强连通分支子图
- 求强连通分支 tarjan算法
- HDU1213&HDU1232-求连通分支数
- hdu 1241 田字格八个方向的深度优先搜索 求连通分量个数
- (java)DFS求连通分量的个数
- hdu 1213 求树的个数
- DFS一个图并求出它的连通分支个数
- 求二叉树中单分支结点的个数
- 求二叉树中双分支结点的个数
- unity Camera 属性详解
- Fragment(碎片)(2)-的生命周期
- 拉勾网爬虫-python语言实现
- C++专题总结之输入输出
- PPT超炫资源
- hdu 1213 求连通分支个数
- 安卓中在AndroidStudio集成第三方支付宝(史上最详细版)
- PCL编程-法向量计算
- cocos lua 实现原声语音 流程概述
- 6、表格控件GirdPanel及EditorGrid使用
- idea自动导入jar包的快捷键
- 我勇敢的从自己的阴影中走出来!
- Linux下查看.so和可执行文件是否debug编译
- 启动Activity的流程(Launcher中点击图标启动)