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

茶文化网站建设的可行性分析杭州最好的seo公司

茶文化网站建设的可行性分析,杭州最好的seo公司,浙江省网站icp备案多久,国内做的好的游艇网站目录 1 基础知识2 模板3 工程化 1 基础知识 并查集支持O(1)时间复杂度实现: 将两个集合合并。询问两个元素是否在一个集合中。 基本原理:每个集合用一颗树来表示。树根的编号就是整个集合的编号。每个结点存储它的父结点,p[x]表示x的父结点…

目录

  • 1 基础知识
  • 2 模板
  • 3 工程化

1 基础知识

并查集支持O(1)时间复杂度实现:

  1. 将两个集合合并。
  2. 询问两个元素是否在一个集合中。

基本原理:每个集合用一颗树来表示。树根的编号就是整个集合的编号。每个结点存储它的父结点,p[x]表示x的父结点。

问题1:如何判断树根:p[x] == x
问题2:如何求x的集合编号:while (p[x] != x) x = p[x];。上述为朴素做法,可以通过路径压缩,进行优化。

int find(int x) {if (p[x] != x) p[x] = find(p[x]);return p[x];
}

问题3:如何合并两个集合:px是x的集合编号,py是y的集合编号:p[px] = py

2 模板

(1)朴素并查集:int p[N]; //存储每个点的祖宗节点// 返回x的祖宗节点int find(int x){if (p[x] != x) p[x] = find(p[x]);return p[x];}// 初始化,假定节点编号是1~nfor (int i = 1; i <= n; i ++ ) p[i] = i;// 合并a和b所在的两个集合:p[find(a)] = find(b);(2)维护size的并查集:int p[N], size[N];//p[]存储每个点的祖宗节点, size[]只有祖宗节点的有意义,表示祖宗节点所在集合中的点的数量// 返回x的祖宗节点int find(int x){if (p[x] != x) p[x] = find(p[x]);return p[x];}// 初始化,假定节点编号是1~nfor (int i = 1; i <= n; i ++ ){p[i] = i;size[i] = 1;}// 合并a和b所在的两个集合:size[find(b)] += size[find(a)];p[find(a)] = find(b);(3)维护到祖宗节点距离的并查集:int p[N], d[N];//p[]存储每个点的祖宗节点, d[x]存储x到p[x]的距离// 返回x的祖宗节点int find(int x){if (p[x] != x){int u = find(p[x]);d[x] += d[p[x]];p[x] = u;}return p[x];}// 初始化,假定节点编号是1~nfor (int i = 1; i <= n; i ++ ){p[i] = i;d[i] = 0;}// 合并a和b所在的两个集合:p[find(a)] = find(b);d[find(a)] = distance; // 根据具体问题,初始化find(a)的偏移量

3 工程化

class UnionFind {
public:UnionFind(int n) {this->n = n;p.resize(n);cnt.resize(n);d.resize(n);for (int i = 0; i < n; ++i) {p[i] = i;cnt[i] = 1;d[i] = 0;}}int find(int x) {if (x != p[x]) {int u = find(p[x]);d[x] += d[p[x]];p[x] = u;}return p[x];}void merge(int x, int y) {int px = find(x), py = find(y);if (px != py) {p[px] = py;cnt[py] += cnt[px];		}return;}int size(int x) {//返回x所在集合的大小return cnt[find(x)];}
private:int n;vector<int> p; //存储父结点vector<int> cnt; //存储集合大小,根结点的cnt才有意义vector<int> d; //存储到根结点的距离
};
http://www.ds6.com.cn/news/27745.html

相关文章:

  • 杭州公司网站html网页制作软件有哪些
  • 签约网站做PPT百度推广培训机构
  • 有关做生态环境的官方网站seo外链推广
  • 网站建设总体规划包括哪些方面企业推广策略
  • 包头怎样做网站百度收录网站要多久
  • 河北中保建设集团网站首页网站制作的流程
  • 网页设计实训总结600字西安网站seo哪家公司好
  • 做数据分析好看的网站搜索引擎优化seo名词解释
  • 佛山网站建设联系电话网站制作和推广
  • 上海网站建设市场分析厦门seo网站排名优化
  • APP开发网站建设哪家好企业网站优化服务
  • 做网站怎么qq邮箱验证武汉千锋教育培训机构怎么样
  • 合肥网站优化价格优化seo深圳
  • 付费的网站是指自动的网站设计制作
  • 隧道建设网站怎么了seo招聘职责
  • 做网站小程序重庆seo什么意思
  • Wordpress屏蔽模仿站爬虫ip苏州百度推广代理商
  • 信息技术网站建设专业百度的特点和优势
  • 在哪个网站做一照一码网上推广的平台有哪些
  • 高端广告公司网站建设东莞网络营销全网推广
  • 网页设计培训机构推荐seo搜索铺文章
  • 咋么做网站在电脑上网站google搜索优化
  • 有口碑的武进网站建设百度关键词搜索技巧
  • 管理员网站后台上传本地视频互联网平台推广怎么做
  • 做点心的网站信息流投放平台
  • 镇江域名注册广州市口碑seo推广
  • 制作团购网站志鸿优化网官网
  • 杭州网站建设迅雷磁力链bt磁力天堂下载
  • 西安做网站的公司维护百度网盘电话人工服务
  • 外国黄色网站自己的网站怎么做seo