前天刚学了并查集,挺好用的,虽然我现在只会用它来解决是不是亲戚啊,是不是朋友啊,带权并查集还不是很理解。

    并查集也叫做不相交集合,主要有3个操作,初始化,查找,合并。

    并查集其中一个很大的应用就是kruskal嘛。

    并查集就是说,有n个元素嘛,我们把每个元素初始化为一个集合,然后不断查找,看看是不是有关系,有的话就合并。

代码手打,无语法高亮,其实是我不知道怎么弄,囧。

const int MAXN=1000+10;//最大点数

int father[MAXN];

int rank[MAXN];//用于按秩合并,使查找速度更快

void make_set(int x)

{

  father[x]=x;

  rank[x]=0;

}

int find_set(int x)

{

  if(father[x]==x)

    return x;

  else

    return father[x]=find_set(father[x]);

}//路径压缩

void union_set(int x,int y)

{

  x=find_set(x);

  y=find_set(y);

  if(x==y)

    return ;

  if(rank[x]>rank[y])

    father[y]=x;

  else

  {

    if(rank[x]==rank[y])

      rank[y]++;

    father[x]=y;

  }

}

最新文章

  1. Java中,方法的重写、重载的区别,以及多态的实例
  2. php发送邮件
  3. net对XML增删改查
  4. UISplitViewController - iPad分屏视图控制器
  5. getElementById getElementsByName 赋值
  6. ASP.NET Web – AJAX 回送
  7. html5+css3 文章的展示demo
  8. JS 正则表达式否定匹配(正向前瞻)
  9. cv::Mat类之type成员
  10. python(九)迭代器和生成器
  11. VSCode汉化
  12. Python爬虫项目--爬取链家热门城市新房
  13. django 模型关系
  14. 【loj3043】【zjoi2019】线段树
  15. numpy+pandas 基础学习
  16. jquey中json字符串与json的转换(转)
  17. shell for if
  18. 无法将类型“System.Collections.Generic.List<anonymous type:string ClassID,string ClsssName>”隐式转换为“System.Collections.Generic.List<Ecology.Model.EnergyFlowGraph>”
  19. GODOT 3.0 开发快照版本 ALPHA1 释出
  20. Strut2开发经验总结

热门文章

  1. HDU 1241 Oil Deposits --- 入门DFS
  2. poj1511 最短路
  3. SoftmaxLayer and SoftmaxwithLossLayer 代码解读
  4. Java static block static constructor , static field
  5. hotspot
  6. 内存泄漏,当您使用的 GetDC 方法和 ReleaseDC 方法 CWnd 类版本
  7. Linux中/proc/[pid]/status详细说明
  8. easyui datagrid 表格组件列属性formatter和styler使用方法
  9. .net framework4与其client profile版本的区别
  10. MySQL Show命令的使用