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

郑州网站设计 郑州网站开发手机优化大师怎么卸载

郑州网站设计 郑州网站开发,手机优化大师怎么卸载,西安建设网站首页,wordpress 电影网站模板文章目录 837. 连通块中点的数量题目描述维护size的并查集 837. 连通块中点的数量 题目描述 给定一个包含 n 个点#xff08;编号为 1#xff5e;n#xff09;的无向图#xff0c;初始时图中没有边。 现在要进行 m 个操作#xff0c;操作共有三种#xff1a; C a b编号为 1n的无向图初始时图中没有边。 现在要进行 m 个操作操作共有三种 C a b在点 a 和点 b 之间连一条边a 和 b 可能相等Q1 a b询问点 a 和点 b 是否在同一个连通块中a 和 b 可能相等Q2 a询问点 a 所在连通块中点的数量 输入格式 第一行输入整数 n 和 m。 接下来 m 行每行包含一个操作指令指令为 C a bQ1 a b 或 Q2 a 中的一种。 输出格式 对于每个询问指令 Q1 a b如果 a 和 b 在同一个连通块中则输出 Yes否则输出 No。 对于每个询问指令 Q2 a输出一个整数表示点 a 所在连通块中点的数量 每个结果占一行。 数据范围 1≤n,m≤105 输入样例 5 5 C 1 2 Q1 1 2 Q2 1 C 2 5 Q2 5输出样例 Yes 2 3维护size的并查集 #includebits/stdc.h // 包含大多数标准库 using namespace std;const int z1e510; // 定义常数z为最大点数加10用于数组大小int fa[z], size[z]; // fa数组存储每个点的父节点size数组存储每个连通块的大小// 并查集的查找函数用于查找元素i的根节点并执行路径压缩 int find(int i) {if(fa[i] ! i) fa[i] find(fa[i]); // 路径压缩递归地将fa[i]更新为根节点return fa[i]; // 返回根节点 }// 主函数 int main() {int n, m; // n表示点的数量m表示操作的数量cin n m; // 输入点的数量和操作的数量// 初始化并查集for (int i 1; i n; i) {fa[i] i; // 每个点的父节点初始化为自己size[i] 1; // 每个点所在连通块的大小初始化为1}// 循环处理m个操作while (m--) {string s; // 存储操作类型cin s; // 输入操作类型// 根据不同的操作类型进行操作if(s C) { // 连接操作int a, b;cin a b; // 输入要连接的两个点的编号if(find(a) find(b)) continue; // 如果已经在同一个连通块中无需操作// 否则合并两个连通块size[find(b)] size[find(a)]; // 更新根节点的连通块大小fa[find(a)] find(b); // 将一个点的根节点连接到另一个点的根节点} else if(s Q1) { // 查询操作1询问两个点是否连通int a, b;cin a b; // 输入要查询的两个点的编号if(find(a) find(b)) cout Yes endl; // 如果根节点相同输出Yeselse cout No endl; // 否则输出No} else { // 查询操作2询问连通块的大小int a;cin a; // 输入要查询的点的编号cout size[find(a)] endl; // 输出该点所在连通块的大小}}return 0; }在这段代码中主要用到了两个全局数组fa和size。fa数组用来表示每个节点的父节点初始化时每个节点都是自己的父节点。size数组用来表示以当前节点为根节点的连通块的大小初始化为1。每次合并连通块时会更新这两个数组的信息。 find函数是并查集的核心用于查找节点的根节点并在这个过程中进行路径压缩。 在main函数中代码首先接收输入的节点数和操作数然后通过循环处理每一条操作指令。指令分为三种类型分别对应代码中的三个分支。 C操作将两个节点连接在一起如果它们不在同一个连通块中会合并它们所在的连通块并更新连通块大小。Q1操作判断两个节点是否在同一个连通块中输出结果。Q2操作输出给定节点所在连通块的大小。 这个程序对应了题目描述中的需求它可以有效地处理大量的连通性查询和连通块大小查询。
http://www.tj-hxxt.cn/news/138581.html

相关文章:

  • 推广公司的网站可以采取哪些方式怎样做农产品交易平台网站
  • 重庆祥云平台做网站坪地网站建设基本流程
  • 广州网站建设系统某网站开发工具和技术
  • 网站建设前台与后台最新技术wordpress分类页面添加幻灯片
  • 电子政务与网站建设 总结做水果网站需要些什么
  • 网站开发电脑配置网络架构图和拓扑图
  • 网站年龄和域名年龄重庆app制作开发商
  • 百度做网站的电话赛尔网络公司好不好
  • 网站不兼容360浏览器市场营销策略名词解释
  • 长沙多用户商城网站建设什么网站可以做平面设计赚钱
  • 做网站的qq兼职如何删除首页wordpress
  • 网站想举报怎么做天猫网站是用什么技术做的
  • 网站制作的服务商广东省住建局官网
  • 湛江网站建设方案报价如何自己买域做网站
  • 自己做企业网站wordpress 标题
  • 马鞍山做网站公司排名眼前一亮的公司名
  • 网站自动屏蔽恶意点击自己怎么自学软件开发
  • 永嘉网站建设工作室自己网站制作的详细教程
  • net大规模网站开发视频快速迁移网站
  • 1920的做网站做多大广告设计好学吗
  • 陇南市武都区住房和城乡建设网站网站建设与规划实验心得
  • 青浦网站建设su35免费主题大全下载
  • 明光网站商标注册号查询官网
  • 素材网站的素材可以商用吗泉州网站制作
  • 包头网站 建设网络公司名字大全20000个
  • 免费图表制作网站wordpress金馆长插件
  • 网站怎么做外联工业设计软件上市公司
  • 在html中做网站 视频wordpress迁移后后台页面打不开
  • 微信支持什么wordpress台州网络优化
  • 苏州网站建设需要多少钱网站建设工作总结报告