并查集模板
2016-03-22 22:46
232 查看
自己习惯这么写, 复习用:
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<iostream>
#include<cmath>
using namespace std;
#define N 1005
int fa
;
void init(int n){
for(int i=0; i<n; i++){
fa[i]=i;
}
}
int find(int u){
if(fa[u]!=u)
fa[u]=find(fa[u]);
return fa[u];
}
void unin(int u, int v){
int fau=find(u);
int fav=find(v);
if(fau==fav)
return ;
fa[fav]=fau;
}
*******************************************************************************************************************************************************************************************************
int fa
;
void init(int n) { //并查集初始化
for (int i = 0; i <= n; i++){
fa[i] = i;
}
}
int find(int u) {//查找集合编号操作
if (fa[u] != u) {
fa[u] = find(fa[u]);
}
return fa[u];
}
void unin(int u, int v) {//并查集合并操作
int fau = find(u);
int fav = find(v);
if (fau == fav) return;
fa[fav] = fau;
}
/* 实际上,可以写的更短
int fa
;
void init(int n) {
for (int i = 0; i <= n; ++i) fa[i] = i;
}
int find(int u) {
return fa[u] == u ? fa[u] : fa[u] = find(fa[u]);
}
void unin(int u, int v) {
fa[find(v)] = find(u);
}
*/
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<iostream>
#include<cmath>
using namespace std;
#define N 1005
int fa
;
void init(int n){
for(int i=0; i<n; i++){
fa[i]=i;
}
}
int find(int u){
if(fa[u]!=u)
fa[u]=find(fa[u]);
return fa[u];
}
void unin(int u, int v){
int fau=find(u);
int fav=find(v);
if(fau==fav)
return ;
fa[fav]=fau;
}
*******************************************************************************************************************************************************************************************************
int fa
;
void init(int n) { //并查集初始化
for (int i = 0; i <= n; i++){
fa[i] = i;
}
}
int find(int u) {//查找集合编号操作
if (fa[u] != u) {
fa[u] = find(fa[u]);
}
return fa[u];
}
void unin(int u, int v) {//并查集合并操作
int fau = find(u);
int fav = find(v);
if (fau == fav) return;
fa[fav] = fau;
}
/* 实际上,可以写的更短
int fa
;
void init(int n) {
for (int i = 0; i <= n; ++i) fa[i] = i;
}
int find(int u) {
return fa[u] == u ? fa[u] : fa[u] = find(fa[u]);
}
void unin(int u, int v) {
fa[find(v)] = find(u);
}
*/
相关文章推荐
- 设计模式之行为型模式 - 调用行为的传递问题
- [div+css]晒晒最新制作专题推广页模板
- 2008大学生入党申请书 模板
- IMAIL多语言模板两套Outlook&Gmail模板下载
- 在PHP中使用模板的方法
- 深入解析php模板技术原理【一】
- Json2Template.js 基于jquery的插件 绑定JavaScript对象到Html模板中
- 在ASP中不用模板生成HTML静态页直接生成.html页面
- C#模板方法模式(Template Method Pattern)实例教程
- javascript文本模板用法实例
- 关于Asp代码与页面的分离模板技术第1/3页
- php模板原理讲解
- 需要使用php模板的朋友必看的很多个顶级PHP模板引擎比较分析
- DataGrid 动态添加模板列 实现代码
- 详解java模板和回调机制
- C++模板之特化与偏特化详解
- vs.net2008添加模板方法
- ThinkPHP模板判断输出Empty标签用法详解
- ThinkPHP模板范围判断输出In标签与Range标签用法详解
- thinkphp模板用法和内容输出实例