LA3644 利用并查集判断是否有环
来源:互联网 发布:博士后出站 知乎 编辑:程序博客网 时间:2024/03/29 01:39
这题是并查集的典型应用,判断是否存在环,即两个点的祖先是否相同,这题要求不能有环,要删除的边数。
代码:
#include<iostream>#include<algorithm>#include<cstdio>#include<vector>#include<string>#include<queue>#include<cmath>#include<cstring>#define maxn 100005#define INF 0xfffffff#define mem(a,b) memset(a,b,sizeof(a))#define FOR(i,s,t) for(int i=s;i<=t;i++)#define ull unsigned long long#define ll long longusing namespace std;int f[maxn];int find(int x){ return x==f[x]?x:f[x]=find(f[x]);}int u,v,ans;void init(){ ans=0; for(int i=0; i<=100000; i++) { f[i]=i; }}int main(){ init(); while(scanf("%d",&u)==1) { if(u==-1) { printf("%d\n",ans); init(); } else { scanf("%d",&v); int a=find(u),b=find(v); if(a==b) { ans++; } else f[b]=a; } } return 0;}
- LA3644 利用并查集判断是否有环
- UVA 1160 - X-Plosives 即LA3644 并查集判断是否存在环
- HUD 1272 (并查集判断是否有环)
- 易炸物LA3644(并查集)
- LA3644:X-Plosives(并查集)
- 【并查集】LA3644 X-Plosives
- hdu1272小希的迷宫(并查集--判断是否有环的存在)
- hdu 2120 Ice_cream's world I(判断是否有环,简单的并查集)
- LA3644——无向图中找环,并查集
- ACM LA3644: X-Plosives(并查集)
- LA3644(并查集,维护连通分量的集合)
- LA3644 X-Plosives(无向图中找环,并查集)
- LA3644,LA3027 并查集,LRJ训练指南
- 并查集-用并查集判断图中是否有环(能够应用到kruskal的最小生成树)
- 并查集-判断无向图是否存在环
- 并查集---判断图中是否存在环
- 【并查集】判断是否为树
- 【并查集】判断是否为树
- .NET项目开发—浅谈面向接口编程、可测试性、单元测试、迭代重构(项目小结)
- 编程题-----三个顶点的坐标(x1,y1),(x2,y2),(x3,y3)什么方法求三角形的面积最简单
- VMware 下的centOS Nat网络配置
- WebSocket初探
- 用vector<int>对象元素,实现输入10数,将每个奇数值元素用该值的两倍替换
- LA3644 利用并查集判断是否有环
- jQuery ajax - getScript() 方法和getJSON方法
- 编程基础-----C语言中#define的用法
- Java中main函数后面带的参数(String[] args)
- 我眼中的“程序员”!
- Git使用
- 设备驱动-----Linux 设备和驱动加载的先后顺序
- 冒泡排序法,递归,JAVA版
- 选择排序法,循环,非递归,JAVA版