并查集 P3367 【模板】并查集

P3367 【模板】并查集

#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<cstdlib>
using namespace std;
int n,m,zi,xi,yi;
int father[10001];
int find(int x)  //寻找根结点并压缩路径
{
    if(father[x]!=x) father[x]=find(father[x]);
    return father[x];
}
void unionn(int x,int y) //合并两个集合
{
    x=find(x);
    y=find(y);
    father[y]=x;
}
bool judge(int x,int y)  //判断元素是否属于同一集合
{
    x=find(x);
    y=find(y);
    if(x==y)
      return true;
    else
      return false;
}
int caozuo(int z,int x,int y)
{
    if(z==1)
        unionn(x,y);
    if(z==2)
    {
        if(judge(x,y))
          printf("Y\n");
        else
          printf("N\n");
    }
}
int main()
{
    scanf("%d%d",&n,&m);

    for(int i=1;i<=n;i++)  //初始化
      father[i]=i;for(int i=1;i<=m;i++)
    {
        scanf("%d%d%d",&zi,&xi,&yi);
        caozuo(zi,xi,yi);
    }

    return 0;

}

原文地址:https://www.cnblogs.com/xiaoyezi-wink/p/10758162.html

时间: 2024-11-05 13:47:22

并查集 P3367 【模板】并查集的相关文章

opennebula 创建模板【配置集群、配置VNC、配置RAW、配置SSH】

{ "vmtemplate": { "NAME": "bbbb", "MEMORY": "512", "CPU": "1", "DESCRIPTION": "aaaa", "DISK": [ { "IMAGE": "ubuntu-001-iso-image", &quo

青蛙学Linux&mdash;Zabbix Web使用之模板①模板和应用集的概念

1.Zabbix Web中的模板 模板在Zabbix Web中是非常重要的.我们知道,当添加一台主机到Zabbix Web中时,必须向该主机链接一个模板,否则就算将主机添加到Zabbix Web中,Zabbix Web也不会向我们输出该主机的监控数据. Zabbix Web中的模板就是用来定义对于一台主机要监控的项目.当某个监控的项目出现问题时是否触发一系列的动作.展示这个监控项目的图形等. 在Zabbix Web中点击配置-模板,即可进入模板的配置页面,如下所示: 在这个页面中,可以创建模板,

vue模板语法上集

模板语法上集 1.1 插值 1.1.1 文本 {{msg}} 1.1.2 html 使用v-html指令用于输出html代码 1.1.3 属性 HTML属性中的值应使用v-bind指令 1.1.4 表达式 Vue提供了完全的JavaScript表达式支持 {{str.substr(0,6).toUpperCase()}} {{ number + 1 }} {{ ok ? 'YES' : 'NO' }} <li v-bind:id="'list-' + id">我的Id是js

从单机到集群会话的管理之集群模式二(更大的集群)

<从单机到集群会话的管理之集群模式一>中讲到的全节点复制的网络流量随节点数量增加呈平方趋势增长,也正是因为这个因素导致无法构建较大规模的集群,为了使集群节点能更加大,首要解决的就是数据复制时流量增长的问题,下面将介绍另外一种会话管理方式,每个会话只会有一个备份,它使会话备份的网络流量随节点数量的增加呈线性趋势增长,大大减少了网络流量和逻辑操作,可构建较大的集群. 下面看看这种方式具体的工作机制,集群一般是通过负载均衡对外提供整体服务,所有节点被隐藏在后端组成一个整体.前面各种模式的实现都无需负

mongodb3.6集群搭建:分片+副本集

mongodb是最常用的noSql数据库,在数据库排名中已经上升到了前五.这篇文章介绍如何搭建高可用的mongodb(分片+副本)集群. 在搭建集群之前,需要首先了解几个概念:路由,分片.副本集.配置服务器等.相关概念mongodb集群架构图: 从图中可以看到有四个组件:mongos.config server.shard.replica set.mongos,数据库集群请求的入口,所有的请求都通过mongos进行协调,不需要在应用程序添加一个路由选择器,mongos自己就是一个请求分发中心,它

linux集群系列(1) --- Linux集群系统基础

一.简介     1.1. Linux集群系统包括集群节点和集群管理器两部分. 集群节点有时简称为节点.服务器或服务器节点,是提供处理资源的系统,它进行集群的实际工作.一般来讲,它必须进行配置才能成为集群的一部分,也必须运行集群的应用软件.应用软件可以是专用于集群的软件,也可以是设计用于分布式系统的标准软件. Linux集群管理器则是将节点捆绑在一起,以构成单一系统外观的逻辑结构,它用于将任务分解到所有的节点.集群因多种不同的原因而有着不同的类型,建立Linux集群的最直接原因是共享CPU资源,

分布式缓存技术redis学习系列(四)——redis高级应用(集群搭建、集群分区原理、集群操作)

本文是redis学习系列的第四篇,前面我们学习了redis的数据结构和一些高级特性,点击下面链接可回看 <详细讲解redis数据结构(内存模型)以及常用命令> <redis高级应用(主从.事务与锁.持久化)> 本文我们继续学习redis的高级特性--集群.本文主要内容包括集群搭建.集群分区原理和集群操作的学习. Redis集群简介 Redis 集群是3.0之后才引入的,在3.0之前,使用哨兵(sentinel)机制(本文将不做介绍,大家可另行查阅)来监控各个节点之间的状态.Redi

高可用集群HA之双机集群

HA:High Availability  高可用性:主要目的就是让运行在服务器上的服务尽可能减少的中断的技术,保证服务运行的连续性:原理如上图所示,本文实现双机集群系统,首先通关管理虚拟机LUCI服务对ClusterVM1.ClusterVM2进行管理,维护等工作,而他们之间沟通的桥梁是RICCI服务,所以ClusterVM1.ClusterVM2均安装RICCI服务.主要工作原理是ClusterVM1.ClusterVM2构成集群的双机,将其中一台作为活动机,也就是运行服务的主机(Clust

利用Docker部署mongodb集群--分片与副本集

环境 Docker version 1.6.2  mongodb 3.0.4 第一步  编写Dockerfile并生成镜像 主意包含两个Dockerfile镜像,一个mongod的,一个mongos(在集群中负责路由) 编写Mongod的Dockerfile: FROM ubuntu:14.04 RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10 ENV MONGO_MAJOR 3.0 RUN ech

从单机到集群会话的管理之集群模式一

为什么要使用集群?主要有两方面原因:一是对于一些核心系统要求长期不能中断服务,为了提供高可用性我们需要由多台机器组成的集群:另外一方面,随着访问量越来越大且业务逻辑越来越复杂,单台机器的处理能力已经不足以处理如此多且复杂的逻辑,于是需要增加若干台机器使整个服务处理能力得到提升. 如果说一个web应用不涉及会话的话,那么做集群是相当简单的,因为节点都是无状态的,集群内各个节点无需互相通信,只需要将各个请求均匀分配到集群节点即可.但基本所有web应用都会使用会话机制,所以做web应用集群时整个难点在