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

重庆网站建设找重庆最佳科技什么网站百度容易收录

重庆网站建设找重庆最佳科技,什么网站百度容易收录,淘宝网站c#设计怎么做,直接采用模板网站有什么缺点并查集在加入了路径压缩的优化后支持以近乎o(1)来进行两个操作 : 1.合并两个集合 2.判断两个元素是否属于同一个集合 一开始有n个数,后面有n1个合并集合操作,n2个查询两个元素是否在同一个集合操作 //n个数,最开始每个数各自在…

并查集在加入了路径压缩的优化后支持以近乎o(1)来进行两个操作 :

1.合并两个集合

2.判断两个元素是否属于同一个集合

一开始有n个数,后面有n1个合并集合操作,n2个查询两个元素是否在同一个集合操作

//n个数,最开始每个数各自在一个集合中
#include <iostream>using namespace std;const int N = 100010;int p[N];    //p的意思是pre
int n, n1, n2;int find(int x)     //在并查集基本操作中可以维护一些额外的变量
{while (p[x] != x) p[x]=find(p[x]);        //如果这里是x=p[x]那就不带路径压缩 如果是p[x]=find(p[x])那么就加入了路径压缩 这里难懂的原因这里find(p[x])的意思是下一层递归将p[x]当成下一层的x,那么就实现了向上找的功能return x;                                
}int main()
{cin >> n >> n1 >> n2;for (int i = 1; i <= n; i++)p[i] = i;while (n1--){int a, b;cin >> a >> b;p[find(a)] = find(b);}while (n2--){int a, b;cin >> a >> b;if (find(a) == find(b)) cout << "yes" << endl;else cout << "no" << endl;}return 0;
}

同时除了完成并查集两个这种最基础的操作,它还支持在完成基础操作的过程中维护一些额外的白变量,比如每个集合的元素数量大小

下面代码题意与上面相同,只不过多了n3个查询元素a所在集合的元素数量的操作

#include <iostream>using namespace std;const int N = 100010;int p[N],s[N];    //s的意思是size  规定只有根节点(代表元)有意义
int n, n1, n2, n3;int find(int x)
{while (p[x] != x) p[x] = find(p[x]);return x;
}int main()
{cin >> n >> n1 >> n2 >> n3;for (int i = 1; i <= n; i++){s[i] = 1;p[i] = i;}while (n1--){int a,b;cin >> a >> b;if (find(a) == find(b)) continue;p[find(a)] = find(b);s[find(b)] += s[find(a)];    //如果上面没有判断a和b是否已经在一个集合中了,那么s会多加,导致出现错误}while (n2--){int a, b;cin >> a >> b;if (find(a) == find(b)) cout << "yes" << endl;else cout << "no" << endl;}while (n3--){int a;cin >> a;cout << s[find(a)] << endl;}return 0;
}

http://www.dtcms.com/a/433356.html

相关文章:

  • 可做设计任务的网站辽阳专业网站开发公司
  • 杭州的网站设计赚钱软件一天赚100元游戏
  • 门户网站怎么做seowordpress本地如何安装
  • 网站网页制作的公司网站建设中颜色的感染力
  • 购物网站开发含代码最好的个人网站建设
  • 网站建设合同贴花算哪一类好的界面建筑网站
  • 新网站seo外包影响网站速度因素 dns
  • 自己做名片的网站台州做网站优化哪家好
  • 如何查询网站建站时间cms 多个网站
  • wordpress连接谷歌地图网站开发好什么进行界面的优化
  • 写代码做网站wordpress数据备份
  • 商会网站建设招标方案网站做推广被禁止访问了
  • 网站邮件发送功能怎么做企业软件
  • C++---四大强转
  • 网站开发的小结科技智库青年人才计划
  • 如何做flash游戏下载网站网站开发商城
  • 炒股配资网站建设房屋设计装修公司
  • 连云港网站关键词云畅网站建设网址
  • 怎么自己制作网站大型门户网站的建设外包在本公司制作好还是
  • 永济市做网站网站加地图
  • 做网站前端代码宿迁房产网签查询系统
  • 杭州企业建设网站公司企业网站建设视频教程
  • 网站建设文库 新的开始WordPress文章提交百度
  • 专门做顶账房的网站自己没有货源怎么开网店
  • xampp的Wordpress公网长沙关键词优化新行情报价
  • 网站开发补充协议大型建设网站制作
  • 琴行网站开发学术论文加强门户网站建设的讲话
  • 新网如何管理网站长沙企业模板建站
  • 做宣传语的网站网站做好了如何发布
  • 东莞建设网 东莞市住房和城乡建设局门户网站自己搭建小型服务器