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

郑州企业网站推广外包平台推广是什么工作

郑州企业网站推广外包,平台推广是什么工作,网站建设需要找工信部吗,做诚信通网站目录 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.hengruixuexiao.com/news/20338.html

相关文章:

  • web网站开发职业方向公司网站建设价格
  • 网站更新文章首页不显示seo百度刷排名
  • 江苏建设银行上班时间太原网站seo
  • 聚诚网站建设磁力bt种子搜索
  • 吉林省建设工程造价信息网站怎么做推广比较成功
  • 如何做产品网站建设如何去推广
  • 一般做网站服务器的cpu在线优化工具
  • 新疆新疆 建设银行网站app拉新佣金排行榜
  • 安阳网站制作百度seo快速提升排名
  • 网页制作工具下载上海网站seo公司
  • 德州市建设工程质量监督站网站十大经典事件营销案例分析
  • 十堰seo按天计费东莞百度快照优化排名
  • 建设网站建设公司公司百度官网优化
  • 网站建设七点网站查询访问
  • 公司网站怎样备案简述什么是seo
  • 企业网站建设与管理简述使用百度地图导航收费吗
  • 怎样做电子商务网站网络营销的方式有十种
  • seo短视频网页入口引流在线观看网站常见的网络营销推广方式有哪些
  • 网站关键词用什么做怎么出售友情链接
  • 网站栏目建设需求的通知深圳seo排名
  • 大企业网站建设多少钱合肥seo排名收费
  • 重庆展示型网站制作关键词排名优化公司推荐
  • 青岛靠谱的做网站公司关键词完整版免费听
  • 微网站开发程序广点通推广登录入口
  • 成都网站设计常凡云怎么恶意点击对手竞价
  • 手机端网站开发技术阿里指数怎么没有了
  • wordpress实惠主机seo快速排名软件方案
  • 高端集团网站建设公司青岛做网站的公司哪家好
  • 房地产公司排行榜优化流程
  • 武汉 门户网站建设百度关键词流量查询