HDU - 1856 - More is better

【一文读懂】NTN(非地面网络)技术介绍 NTN,即非地面网络,是指利用卫星、高空平台(如无人机、平流层气球等)等非地面通信基础设施来实现全球通信覆盖的网络。在5G时代,NTN主要基于5G标准,特别是5G NR(New Radio)技术,通过卫星通信扩展地面网络的覆盖范围和服务能力。NTN技术的出现和发展,为全球通信带来了新的可能性和挑战。通过不断的技术创新和标准化推进,NTN有望在未来发挥更加重要的作用,为全球用户提供无处不在的通信服务。随着6G时代的到来,我们有理由相信NTN技术将迎来更加广阔的发展前景。 阅读详情

HDU - 1856 - More is better

Time Limit: 5000/1000 MS (Java/Others)     Memory Limit: 327680/102400 K (Java/Others)

Problem Description

Mr Wang wants some boys to help him with a project. Because the project is rather complex, the more boys come, the better it will be. Of course there are certain requirements.

Mr Wang selected a room big enough to hold the boys. The boy who are not been chosen has to leave the room immediately. There are 10000000 boys in the room numbered from 1 to 10000000 at the very beginning. After Mr Wang’s selection any two of them who are still in this room should be friends (direct or indirect), or there is only one boy left. Given all the direct friend-pairs, you should decide the best way.

Input

The first line of the input contains an integer n (0 ≤ n ≤ 100 000) - the number of direct friend-pairs. The following n lines each contains a pair of numbers A and B separated by a single space that suggests A and B are direct friends. (A ≠ B, 1 ≤ A, B ≤ 10000000)

Output

The output in one line contains exactly one integer equals to the maximum number of boys Mr Wang may keep.

Sample Input

4
1 2
3 4
5 6
1 6
4
1 2
3 4
5 6
7 8

Sample Output

4
2

Hint

A and B are friends(direct or indirect), B and C are friends(direct or indirect),
then A and C are also friends(indirect).

In the first sample {1,2,5,6} is the result.
In the second sample {1,2},{3,4},{5,6},{7,8} are four kinds of answers.


题意:一共有10000000人,给你一个数n,下面n行a, b好,代表 a 和 b 是好朋友,问好朋友的最大集合有多大

再合并集合的时候,有启发式合并,根据两棵数的秩来决定怎么合并,在写un的时候稍微改编一下就OK了,这里的秩不再代表树高,而是代表集合里的人数


#include<cstdio>
#include<cstring>
#include<algorithm>
#define MAXN 10000005
using namespace std;

int u[MAXN], rnk[MAXN];
int ans;

int find(int x){
    if(x != u[x])
        u[x] = find(u[x]);
    return u[x];
}

void un(int a, int b){
    a = find(a);
    b = find(b);
    if(a == b)
        return;
    if(rnk[a] > rnk[b]){
        u[b] = a;
        rnk[a]+=rnk[b];        //这里的秩代表集合里的人数
        if(ans < rnk[a])
            ans = rnk[a];
    }
    else{
        u[a] = b;
        rnk[b]+=rnk[a];
        if(ans < rnk[b])
            ans = rnk[b];
    }
}

int main()
{
    int n;
    while(scanf("%d", &n)!=EOF){
        if(!n){                     //当n=0时输出1,注意题目n的范围 
            printf("1\n");
            continue;
        }

        for(int i = 0; i < MAXN; i++){
            u[i] = i;
            rnk[i] = 1;
        }


        ans = 0;
        while(n--){
            int a, b;
            scanf("%d %d", &a, &b);
            un(a, b);
        }
        printf("%d\n", ans);
    }
    return 0;
}
7.26华为OD机试真题 新系统 - 炸弹人的雷区数量 (Java/Py/C/C++/Js/Go) 阅读详情

相关推荐

保姆级教程:在Ubuntu 22.04上从零安装SUMO并运行第一个交通仿真

本教程详细介绍了在Ubuntu 22.04系统上从零安装SUMO交通仿真软件并运行第一个仿真的完整流程。涵盖环境准备、PPA源安装、核心组件验证、首次仿真案例运行以及进阶配置技巧,特别针对netedit路网编辑器和地图格式转换等实用工具进行重点讲解,帮助用户快速掌握SUMO在交通仿真领域的应用。

weixin_30546189的博客 422

hdu 1856 More is better(并查集)(卡空间,卡时间)(c++)

hdu 1856 More is better 题目链接: hdu 1856 More is better 题目大意: 输出最大数量的集合的数量 上代码: #include<iostream> #include<cstdio> #include<cstring> #include<cmath> using namespace std; typedef long long ll; #define N 10000005 int m; int x, y; int

谦卑 299

matinal:SAP ABAP 关于sftp的发送接收源代码

如果您将目标系统的凭据存储在该 RFC 连接中,您可以安排程序并将其作为后台作业运行:凭据将从 SM59 配置中获取,并且在文件传输期间不会提示您输入它们。这尤其适用于安全问题:您有责任为您的编码添加安全功能,并相应地配置您的系统(例如,保护您的系统免受病毒侵害)。注意:在创建自己的程序时,请特别注意示例代码中以“@CUSTOMER”开头的注释,因为您需要实现自己的逻辑。本说明为您提供示例编码以支持您创建自己的程序。在 STRUST 事务中,您维护了一个 PSE 并导入了您要发送的文件的最终收件人的证书。

matinal 當冬夜漸暖 。公众号:matinal 1333

hdu 1856 More is better(并查集)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1856 More is better Time Limit: 5000/1000 MS (Java/Others)Memory Limit: 327680/102400 K (Java/Others) Total Submission(s): 18985Accept...

weixin_30265171的博客 85

FEniCS学习笔记01:centos7下通过conda安装FEniCSx0.7

2023年版本的Fenicsx0.7,官网推荐使用conda命令安装集成好的Python包,因此我们的安装思路是先安装Anaconda,再按照官网步骤安装Fenics。

huahua_xiao的博客 5056

迪文DGUSII串口屏中文显示实战:手把手教你制作16x16点阵字库

本文提供了一份迪文DGUSII串口屏16x16点阵中文字库制作的完整实战指南。从显示原理、字体选择与参数设置,到使用FontLib Make工具生成字库文件,再到部署、调用及存储空间优化,手把手教你解决中文显示难题,确保界面文字既美观又稳定。

weixin_29190573的博客 154

HDU-1856 More is better

并查集的基础使用

The Blog Of Uncle_Sugar 297

colmap+openMVS稠密重建

简要记录一下colmap+openMVS稠密重建相关使用。

weixin_41631106的博客 2243

HDU 1856 More is better

More is better Time Limit: 5000/1000 MS (Java/Others)Memory Limit: 327680/102400 K (Java/Others) Total Submission(s): 8214Accepted Submission(s): 3069 Problem Description Mr Wang want...

anvt77205的博客 234

SpringBoot+Vue+kkFileView实现文档管理(文档上传、下载、在线预览)

上面在使用OpenOffice实现doc、excel、ppt等文档的管理和预览。除此之外可用kkFileView实现包括且更多文档的预览。

BADAO_LIUMANG_QIZHI的博客 1万+

YOLOv26全流程实战手册:从yaml配置拆解到训练推理参数调优(附虚拟环境搭建)

以“车辆、行人、小型物体”3类数据集为例,修改# 1. 修改类别数nc: 3# 2. 调整锚框(适配小目标)anchors:- [12,16, 16,24, 33,23] # 增加小锚框# 3. 轻量化调整(边缘部署)depth_multiple: 0.25 # 降低深度系数width_multiple: 0.20 # 降低宽度系数# 其余Backbone/Head结构不变yaml配置:核心是调整nc(类别数)、(轻量化)、anchors(适配目标尺度);虚拟环境。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 877

HDU1856 More is better【并查集】

More is better Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 327680/102400 K (Java/Others) Total Submission(s): 39810 Accepted Submission(s): 13961 Problem Description Mr Wang wants some ...

海岛Blog 608

Android Framework WMS面试题及参考答案

什么是 WindowManagerService(WMS)?它的作用是什么? WindowManagerService(WMS)是 Android 系统中非常重要的一个系统服务。它运行在系统进程(system_server 进程)中。 从本质上来说,WMS 是 Android 窗口管理系统的核心。它负责管理系统中的所有窗口,包括应用程序窗口、系统窗口(如状态栏、导航栏)等。 它的主要作用有很多。首先是窗口的创建和销毁。当一个应用请求创建一个窗口时,WMS 会协调各个模块完成窗口的创建工

大模型大数据攻城狮的专栏 2163

hdu 1856 More is better

More is betterTime Limit: 5000/1000 MS (Java/Others)    Memory Limit: 327680/102400 K (Java/Others)Total Submission(s): 31385    Accepted Submission(s): 11126Problem DescriptionMr Wang wants some boys...

路途遥远,初心难忘,道阻且长,愿君走出半生,归来仍是少年 304

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

HDU1856-More is better

http://acm.hdu.edu.cn/showproblem.php?pid=1856 #include<stdio.h> #define MAX 10000000 int fa[MAX],num[MAX]; int find(int x) { return fa[x]==x?x:fa[x]=find(fa[x]); } void merge(int ...

weixin_30606461的博客 153

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

HDU 1856 More is better

More is better Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 327680/102400 K (Java/Others) Total Submission(s): 8268    Accepted Submission(s): 3088 Problem Description Mr Wang wan

sky_fighting的专栏 914

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

HDU1856 More is better

HDU1856 More is betterProblem Description Mr Wang wants some boys to help him with a project. Because the project is rather complex, the more boys come, the better it will be. Of course there are cert

long-long-ago 442

HDU1856:More is better

Problem Description Mr Wang wants some boys to help him with a project. Because the project is rather complex, the more boys come, the better it will be. Of course there are certain requirements.

ACM!荣耀之路! 1568

HDU 1856-More is better

More is better Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 327680/102400 K (Java/Others) Total Submission(s): 29688    Accepted Submission(s): 10552 题目链接:点击打开链接 Problem Des

别止的博客 309

hdu 1856 (More is better)

More is better  (并查集) More is better Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 327680/102400 K (Java/Others) Total Submission(s): 24408    Accepted Submission(s): 8763 Problem

渣渣眼里没有水题 297

【并查集之离散化】HDU 1856 More is better

HDU 1856 More is better Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 327680/102400 K (Java/Others) 前话 离散化,把无限空间中有限的个体映射到有限的空间中去,以此提高算法的时空效率。 题意 房间里有编号为 [ 1 , 1e7 ] 的这些人,现在有n ( [ 0, 1e5 ] )...

L_X_ 241

HDU1856 More is better

大致思路:并查集,每次合并时都将两个根节点的num值合并,循环一遍找到最大的num值即可。     坑点!!! “如果Mr Wang 不挑选的话,房间里会有一个男孩被留下”,当n=0时,输出 1。     (一定要注意特殊值,一定要好好读题,切记切记~~) #include #include #include #include #include using namespa

别停下,路还长;别着急,路还长。 242

HDU1856(More is better)

题目传送门 解题思路: 并查集入门题,大概意思就是求最大的集合有多少个人,并查集按照按照集合大小合并就可以。 坑点:题目给的数据范围有点大,小心一点不然会超内存或者超时间。记得做路径压缩,输入用scanf,cin会T到飞起,还有就是n = 0的时候,代表没有给定的两个朋友,说明只有他一个人,那么n = 0的时候最大集合就是 1 。 #include <iostream> #includ...

weixin_43808717的博客 288

HDU - 1856 More is better (并查集)

HDU - 1856 More is better (并查集) HDU - 1856 即找元素最多的集合。 设置一个siz[i]数组,表示当前根为 i 的集合元素个数。在Union函数中每次两个集合合并时更新siz[i]。 我的代码 #include<bits/stdc++.h> using namespace std; #define ll long long const int maxn = 10000005; int a, b; int f[maxn], siz[maxn]; int a

Chancy_Lu的博客 370

HDU 1856 More is better

More is better Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 327680/102400 K (Java/Others) Total Submission(s): 24713    Accepted Submission(s): 8862 Problem Description Mr Wang

学 以致用 287
上一篇: POJ - 1988 - Cube Stacking
下一篇: HDU - 1272 - 小希的迷宫
Violet-Guo
博客等级 码龄11年 585粉丝 226原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值