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

天梯赛 L2-024 部落

一个并查集题目,难点就在于统计总人数,使用map即可,还有需要注意的是编号不一定是小于N的,小于10000的,需要注意。

#include<bits/stdc++.h>
using namespace std;
const int N = 10010;
int fa[N];
int find(int x){
    if(x == fa[x]){
        return x;
    }
    return fa[x] = find(fa[x]);
}
void merge(int x,int y){
    int xx = find(x);
    int yy = find(y);
    if(xx == yy){
        return;
    }
    fa[yy] = xx;
    return;
}
int main(){
    int n;
    cin>>n;
    for(int i = 1 ; i <= 10000 ; i++){
        fa[i] = i;
    }
    map<int,int> cnt;
    while(n--){
        int k,st;
        cin>>k;
        cin>>st;
        cnt[st]++;
        for(int i = 2 ; i <= k ; i++){
            int x;
            cin>>x;
            cnt[x]++;
            merge(st,x);
        }
    }
    cout<<cnt.size()<<" ";
    map<int,int> cnt1;
    for(int i = 1 ; i <= 10000 ; i++){
        if(cnt[i] != 0){
            cnt1[find(i)]++;
        }
    }
    cout<<cnt1.size()<<endl;
    int q;
    cin>>q;
    while(q--){
        int x,y;
        cin>>x>>y;
        if(find(x) == find(y)){
            cout<<"Y"<<endl;
        }else{
            cout<<"N"<<endl;
        }
    }
}

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

相关文章:

  • [ISP] 理解白平衡的理想色温6500K
  • springboot—— Shiro实现认证和授权功能
  • webscanner漏洞扫描部署使用
  • HTML 表单:构建交互式网页的关键元素
  • 3D 地图渲染-区域纹理图添加
  • 库博静态代码分析工具Jenkins插件集成
  • Husky目标跟踪
  • Spring Boot集成Elasticsearch指南
  • idea清除git密码
  • C++ STL:六大组件全解析
  • 大数据(4.1)Hive架构设计与企业级实战:从内核原理到性能巅峰优化,打造高效数据仓库
  • Qt基本框架(2)
  • 强化学习经典策略梯度算法REINFORCE
  • CMake Presets教程
  • 开发一个小程序需要多久时间?小程序软件开发周期
  • 【Flask开发】嘿马文学web完整flask项目第2篇:2.用户认证,Json Web Token(JWT)【附代码文档】
  • 物联网安全技术:守护智能世界的防线
  • 如何把已有的虚拟环境的python版本进行降级?
  • Java观察者模式详解
  • AI助理是如何助力企业的
  • git克隆数据失败
  • 优维HAO案例:香港联交所上市企业「智能运维平台」项目
  • 【学Rust写CAD】25 变量类(variable.rs)
  • 优雅~~Spring Boot 整合多数据源的姿势
  • 计算机硬件——CPU 主要参数
  • 图像处理:使用Numpy和OpenCV实现傅里叶和逆傅里叶变换
  • 裴蜀定理:整数解的奥秘
  • AI与玩具结合的可行性分析
  • 【学Rust写CAD】28 带 Alpha 通道的双线性插值函数(bilinear_interpolation_alpha.rs)
  • 第六章:机器人建模与仿真__《ROS机器人开发实践》_notes