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

增城门户网站中国宁波网

增城门户网站,中国宁波网,使用vue做单页面网站,福田专业网站建设公司哪家好目录 1 基础知识2 模板3 工程化 1 基础知识 并查集支持O(1)时间复杂度实现#xff1a; 将两个集合合并。询问两个元素是否在一个集合中。 基本原理#xff1a;每个集合用一颗树来表示。树根的编号就是整个集合的编号。每个结点存储它的父结点#xff0c;p[x]表示x的父结点… 目录 1 基础知识2 模板3 工程化 1 基础知识 并查集支持O(1)时间复杂度实现 将两个集合合并。询问两个元素是否在一个集合中。 基本原理每个集合用一颗树来表示。树根的编号就是整个集合的编号。每个结点存储它的父结点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;vectorint p; //存储父结点vectorint cnt; //存储集合大小根结点的cnt才有意义vectorint d; //存储到根结点的距离 };
http://www.sadfv.cn/news/246625/

相关文章:

  • 农村自建房设计图一层搜索引擎优化怎么推广
  • 手机访问网站跳wap网站首页怎么做
  • 网站开发要加班吗网站建设准备资料表格
  • 服务器可以吧网站做跳转吗商标生成器在线制作
  • 梅河口市住房和城乡建设局网站学设计哪个职业学校比较好
  • 各大网站网络推广的收费芙蓉网站制作
  • 山西运城网站建设现代装修风格三室两厅效果图
  • 大庆医院网站建设方案外贸常用网站
  • 最好的扁平化网站杭州网站建设过程
  • 移动互联网站开发工程师做重视频网站
  • 自己怎样做免费网站东莞做网站 信科网络
  • 整站优化推广数据库网站 建设
  • 贵州公明建设投资咨询有限公司官方网站云计算技术是学什么的
  • 如何做同城信息网站批量更新wordpress文章
  • 爱网站排行腾讯网qq网站
  • 公司网站网站不备案wordpress开启子站
  • 福州网上商城网站建设做网站会遇到的问题
  • asp.net c 网站开发深圳产品设计工资
  • 广州哪里有网站建设深圳网上办事大厅官网
  • 怎么做百度联盟网站网址导航主页
  • seo建站淘客百度app下载官方免费下载安装
  • 生产型或服务型企业网站有哪些wordpress 本地
  • 备案后修改网站名称网站之间的区别
  • 微企点网站建设制作网页填数据
  • 网页设计与网站建设考试网站流量增加
  • 建设银行福建分行招聘网站导航主题wordpress
  • 中通服建设有限公司网站石龙网站设计
  • 沧州网站制作网站深圳seo云哥
  • 做网站淮南动漫制作专业怎么样
  • 网站群建设优点快速申请wordpress