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

网站描述代码wordpress网页设计步骤

网站描述代码,wordpress网页设计步骤,财经网站建设,盱眙县建设局网站并查集(Union-find Sets)是一种非常精巧而实用的数据结构,它主要用于处理一些不相交集合的合并问题.一些常见的用途有求连通子图,求最小生成树Kruskal算法和最近公共祖先(LCA)等. 并查集的基本操作主要有: .1.初始化 2.查询find 3.合并union 一般我们都会采用路径压缩 这样…

并查集(Union-find Sets)是一种非常精巧而实用的数据结构,它主要用于处理一些不相交集合的合并问题.一些常见的用途有求连通子图,求最小生成树Kruskal算法和最近公共祖先(LCA)等.

并查集的基本操作主要有:

.1.初始化

2.查询find

3.合并union

 

一般我们都会采用路径压缩 这样效率更加高  

 

#include<iostream>
#include<cstdio>
#include<cstdlib>
using namespace std;
#define MAXN 20001
int fa[MAXN];
void init(int n) {for (int i = 1; i <= n; i++) {fa[i] = i;}//初始化
}
int find(int x) {if (x == fa[x]) {return x;}else {fa[x] = find(fa[x]);//路径压缩 也就是一直找到祖先return fa[x];}
}
void unionn(int i, int j) {int i_fa = find(i);//找到i的祖先int j_fa = find(j);//找到j的祖先fa[i_fa] = j_fa;//i的祖先指向j的祖先 反过来也可以
}
int main() {int n, m, x, y, q;scanf("%d", &n);init(n);scanf("%d", &m);for (int i = 1; i <= m; i++) {scanf("%d%d", &x, &y);unionn(x, y);}scanf("%d", &q);for (int i = 1; i <= q; i++) {scanf("%d%d", &x, &y);if (find(x) == find(y)) {printf("Yes\n");}else {printf("No\n");}}return 0;
}

或者这样写 

#include<iostream>
#include<cstring>
#include<algorithm>using namespace std;const int N = 20010;int n, m;
int p[N];
int find(int x) {if (p[x] != x)p[x] = find(p[x]);return p[x];
}
int main() {scanf("%d%d", &n, &m);for (int i = 1; i <= n; i++) p[i] = i;while (m--) {int a, b;scanf("%d%d", &a, &b);p[find(a)] = find(b);//合并 a->b}scanf("%d,&m");while (m--) {int a, b;scanf("%d%d", &a, &b);if (find(a) == find(b))puts("yes");else puts("no");}return 0;}

 

#include<iostream>
using namespace std;const int N = 10010;int n, m;
int p[N];int find(int x) {if (p[x] != x)p[x] = find(p[x]);return p[x];
}
int main() {scanf("%d%d", &n, &m);for (int i = 1; i <= n; i++) p[i] = i;char op[2];//读入操作的字符串  因为字符串后面有'\0'所以要存多一位while (m--) {int a, b;scanf("%s%d%d",&op ,&a, &b);if(*op=='M')p[find(a)] = find(b);//合并else {if (find(a) == find(b)) {puts("Yes");}else {puts("No");}}}return 0;
}

#include<iostream>
using namespace std;
const int N = 10010;int n, m;
int p[N], s[N];int find(int x) {if (p[x] != x)p[x] = find(p[x]);return p[x];
}
int main() {scanf("%d%d", &n, &m);for (int i = 1; i <= n; i++) p[i] = i, s[i] = 1;while (m--){char op[3];int a, b;scanf("%s", &op);if (*op == 'C') {scanf("%d%d", &a, &b);a = find(a), b = find(b);if (a != b) {//如果相等证明他们在同一个祖先中s[b] += s[a];p[a] = b;}else if (*op == 'Q1') {scanf("%d%d", &a, &b);if (find(a) == find(b)) {puts("Yes\n");}else {puts("No\n");}}else {scanf("%d", &a);printf("%d\n", s[find(a)]);}}}return 0;
}

 

http://www.yayakq.cn/news/563833/

相关文章:

  • 网站如何做引流北京网页公司制作
  • o2o手机网站建设难网站色差表
  • 网站平台建设实训体会dz论坛做分类网站
  • 管理网站 开发微信运营推广方式
  • 合肥建站企业wordpress post 模板
  • 怎么注册网站卖东西网站后台建设怎么进入
  • 如何快速建设网站黄平网站建设
  • 网站建设人力调配范文永定门网站建设
  • 江苏省建设厅网站建造师强制注销做片头网站
  • 网站销售方案住房和城乡建设部证书查询
  • 专业做网站上海腾讯广告平台
  • 网站提现功能开发国土局网站建设情况
  • 邯郸哪儿能做网站网站打开慢的解决方法
  • 做网站上传图片多大合适wordpress小蜜蜂
  • 信誉好的广州外贸网站潍坊企业网站
  • 哈尔滨seo建站雅安 网站建设
  • 企业自助建站系统源码中小型企业建设网站
  • 网站页面优化内容包括哪些百度关键词优化多久上首页
  • 大同建设银行煤炭支行网站微信推广赚钱
  • 教育网站的开发与建设论文阿里巴巴国际站运营工作内容
  • 网站开发有没有前途做移动网站优化排名首页
  • 广东省公路建设有限公司网站网页 代码怎么做网站
  • 婚纱网站设计代码html网站建设专家如何选
  • 不用开源做网站建筑装修设计网站大全
  • 青岛建站行业网页界面设计的意义
  • 单位网站建设的不足wordpress 4 编辑器
  • 惠州建站模板企业网站建设预算方案
  • 深圳人才网官方网站网站的风格分析
  • 建网站卖阀门网站配置域名
  • 深圳网站建设怎么办wordpress调节字体大小