当前位置: 首页 > news >正文

上海网页设计报价徐州网页关键词优化

上海网页设计报价,徐州网页关键词优化,兰州西固区网站建设平台,淘客网站做的好的0. 引入 并查集是来解决等价问题的数据结构。 离散数学中的二元关系。 等价关系需满足自反性、对称性、传递性。 a ∈ S , a R a a R b & b R a a R b ∩ b R c > a R c a \in S, aRa \\ aRb \& bRa \\ aRb \cap bRc >aRc a∈S,aRaaRb&bRaaRb∩bRc>a…

0. 引入

并查集是来解决等价问题的数据结构。

离散数学中的二元关系。

等价关系需满足自反性、对称性、传递性。
a ∈ S , a R a a R b & b R a a R b ∩ b R c = > a R c a \in S, aRa \\ aRb \& bRa \\ aRb \cap bRc =>aRc aS,aRaaRb&bRaaRbbRc=>aRc

1. 需要实现的操作

给定n个数据,看能划分多少个等价类。

初始时即分为n个等价类,然后再一一合并。

所以需要实现的操作为:

  1. 合并两个等价类
  2. 查找元素属于哪个等价类

2. 实现

2.0 父节点
vector<int> pa;
2.1 查找
int Find(int k)
{return k == pa[k] ? k : Find(pa[k]);
}
2.2 合并
void Union(int a0, int a1)
{int p0 = Find(a0);int p1 = Find(a1);if ( p0 != p1 ) {pa[p0] = p1;}
}
2.3 路径压缩

对于查找来说如果简单的递归的话,最坏的情况便是全都在左子树。

(0,1) (0,2) (0,3) (0, 4) ... (0, n)

出现失去平衡
这样会导致单次查询如同一个链表一样达到O(n)

只需要改动一点点就可以完成路径压缩。

int Find(int k)
{
return k == pa[k] ? k : pa[k] = Find(pa[k]);
}
2.4 按节点数合并

可以令开一个数组,记录当前节点下的节点数。在合并的时候取小的节点合并到大的节点上去。

void Union(int a1, int a2)
{int p1 = Find(a1);int p2 = Find(a2);if ( p1 == p2)return;if (sz[p1] < sz[p2]) {pa[p1] = p2;sz[p2] += sz[p1];}else {pa[p2] = p1;sz[p1] += sz[p2];}     
}

3. 类封装

3.1 路径压缩
class UnionFind {public:explicit UnionFind(int sz):cnt(sz),pa(sz){iota(pa.begin(), pa.end(), 0);}int Find(int k ){return k == pa[k] ? k : pa[k] = Find(pa[k]);}void Union(int k1, int k2 ){int p0 = Find(k1);int p1 = Find(k2);if ( p0 != p1) {pa[p0] = p1;cnt--;}}int Cnt(){return cnt;}private:vector<int> pa;int cnt;
};
3.2 按节点数合并
public:
class UnionFind {public:explicit UnionFind(int _sz):cnt(_sz),pa(_sz),sz(_sz, 1){iota(pa.begin(), pa.end(), 0);}int Find(int k ){return k == pa[k] ? k : Find(pa[k]);}void Union(int k1, int k2 ){int p0 = Find(k1);int p1 = Find(k2);if (p0 == p1)return ;if (sz[p0] < sz[p1] ) {pa[p0] = p1;sz[p1] += sz[p0];}else {pa[p1] = p0;sz[p0] += sz[p1];}}int Cnt(){return cnt;}int Size(int idx){ return sz[idx]; }private:vector<int> pa,sz;int cnt;
};
4. 参考

lFoll题解
OIWIKI

http://www.yidumall.com/news/102101.html

相关文章:

  • 肇庆做网站公司百度top排行榜
  • 网站建设公司的转型培训机构优化
  • 做网站怎么回本线上宣传渠道和宣传方式
  • 创建网站是怎么赚钱seo短视频保密路线
  • 中考复读学校网站怎么做化工网站关键词优化
  • 品牌的佛山网站建设怎么在百度发布自己的文章
  • 网站建设如果没有源代码淘宝app官方下载
  • 企业网站推广是不是必要的在线超级外链工具
  • 手把手教你做网站 3apple日本网站
  • 高端网站建设费用预算站长之家 seo查询
  • 建设单位网站经费请示怎么搭建属于自己的网站
  • 北京房产网二手房出售排名优化系统
  • 青岛做网站建设多少钱在线种子资源库
  • 公司网站功能模块全媒体广告加盟
  • 做设备外贸b2b网站什么是网络营销平台
  • 网站开发一月工资多少泉州seo托管
  • 做电影网站模板教学关键词排名优化教程
  • 怎么建立一个网站八字测试八爪鱼磁力搜索引擎
  • 大连企业网站建站百度指数查询工具
  • 漯河网站制作网络卖货平台有哪些
  • 1.电子商务网站建设的核心是( )谷歌搜索引擎入口2022
  • 公司注册网站官网seo网站排名软件
  • 论坛模板网站建设西安百度框架户
  • 四川有什么好的网站建设公司百度收录的网页数量
  • web前端做音乐网站济南网站建设方案
  • B2B 网站开发计划进度表百度云盘
  • 怎么用ftpxp做网站百度seo哪家公司好
  • 大气医院网站源码硬件优化大师
  • 苗木网站素材新闻头条今日要闻
  • iis部署网站无法访问百度一下知道官网