博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
并查集模板
阅读量:6306 次
发布时间:2019-06-22

本文共 384 字,大约阅读时间需要 1 分钟。

int set[100007]; //父节点,如果set[i]=i,则i元素无父节点bool vis[100007];void init(int n){    int i;    for(i=1;i<=n;++i)    {        set[i]=i;        vis[i]=0;    }}int find(int x){    return set[x]=set[x]==x?x:find(set[x]); //压缩路径之find}void merge(int a,int b) //合并{    int sa=find(a);    int sb=find(b);    if(sa!=sb) set[sa]=sb;}

 

转载于:https://www.cnblogs.com/A-way/archive/2013/04/18/3028917.html

你可能感兴趣的文章
iOS横竖屏
查看>>
thinkphp判断更新是否成功
查看>>
Do While ... Loop 与 Do Until ... Loop 的区别
查看>>
【Linux】查询某个字符串出现次数
查看>>
高效使用jquery之一:请使用'On'函数
查看>>
冲刺第一周第三天
查看>>
ERP环境检测工具设计与实现 Environment Detection
查看>>
不要在构造中做太多事情,不然有时候会出现有意思的代码~
查看>>
IIS 发布网站遇到的问题
查看>>
NuGet学习笔记(2)——使用图形化界面打包自己的类库
查看>>
xcode中没有autoSizing的设置
查看>>
字符编码
查看>>
企业应用:应用层查询接口设计
查看>>
浅谈Excel开发:十 Excel 开发中与线程相关的若干问题
查看>>
nfd指令的详细说明
查看>>
安装VisualSvn Server时遇到的问题
查看>>
不用Visual Studio,5分钟轻松实现一张报表
查看>>
人脸识别 开放书籍 下载地址
查看>>
Notepad++配置Python开发环境
查看>>
用户组概念 和 挂载 概念
查看>>