牛客网练习赛24B 凤凰
题目链接
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 262144K,其他语言524288K
64bit IO Format: %lld
题目描述
凤凰于飞,翙翙其羽,亦集爰止。凤凰于飞,翙翙其羽,亦集爰止。
《诗经·卷阿》
传说,凤凰是百鸟之王。有一天,凤凰要召开百鸟大会,百鸟国是一个由n个节点组成的树,每个节点有一只鸟,开会的节点定在1号节点。每只鸟可以花费1s通过一条边,由于每根树枝(边)的载重有限,只允许一只鸟同时通过。作为会议的策划师,HtBest想知道百鸟国的所有鸟在1点集合最少需要多少秒。
输入描述:
第一行有一个正整数n,表示百鸟国节点个数。
接下来n-1行,第i行两个正整数ai,bi用空格隔开,表示树上节点ai,bi之间有一条边。
输出描述:
第一行一个整数,表示集合最少需要的时间。
示例1
输入
3
1 2
2 3
输出
2
示例2
输入
3
1 2
1 3
输出
1
示例3
输入
4
1 2
2 3
2 4
输出
3
备注:
对于100%的测试数据:
1 ≤ n ≤ 1000000
数据量较大,注意使用更快的输入输出方式。
该题为只需要计算根节点的直接子树中最大的节点数即可,所以可以用并查集进行分类
由于数据量较大,不能用scanner输入,这里采用BufferedReader读入
ac代码
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;public class Main {public static void main(String args[]) throws IOException {BufferedReader sc = new BufferedReader(new InputStreamReader(System.in));int n = Integer.parseInt(sc.readLine());int bc[] = new int [1000005];while(--n>0) {String s[] = sc.readLine().split(" ");int a = Integer.parseInt(s[0]);int b = Integer.parseInt(s[1]);if(a!= 1&&b!=1) {u(a,b,bc);}}int max = -1;max = max(bc);System.out.println(-max);}private static int max(int[] bc) {int max=0;for(int i = 0;i<=1000000;i++) {if(max>bc[i]) {max = bc[i];}}return max;}private static int find(int a, int bc[]) {if(bc[a] == 0) {bc[a] = -1;return a;}else if(bc[a]<0) {return a;}else {return find(bc[a],bc);}}private static void u(int a, int b, int bc[]) {int ra = find(a, bc);int rb = find(b, bc);if(ra != rb) {if(bc[ra]<bc[rb]) {bc[ra] = bc[ra]+bc[rb];bc[rb] = ra;}else {bc[rb] = bc[ra]+bc[rb];bc[ra] = rb;}}}}
牛客网练习赛24B 凤凰相关推荐
- 牛客网练习赛26B(简单的dp)
题目链接:https://www.nowcoder.com/acm/contest/180/B 链接:https://www.nowcoder.com/acm/contest/180/B 来源:牛客网 ...
- 牛客网练习赛34-A题
题目https://ac.nowcoder.com/acm/contest/297/A链接 链接:https://ac.nowcoder.com/acm/contest/297/A 来源:牛客网 不知 ...
- 牛客网练习赛34-b题
题目链接https://ac.nowcoder.com/acm/contest/297/B 链接:https://ac.nowcoder.com/acm/contest/297/A?&head ...
- 牛客网练习赛15__吉姆的奇思妙想
吉姆的奇思妙想 题目描述 吉姆是个热爱算法竞赛的小朋友,平常的休闲活动就是刷 牛客网 的题目. 当吉姆刷到 wannafly挑战赛12 F.小H和圣诞树 这题时,颇为震惊,因为这是他第一次在wan ...
- 牛客网练习赛44-B(快速幂+模拟)
题目链接:https://ac.nowcoder.com/acm/contest/548/B 题意:计算m/n小数点后k1位到k2位,1≤m≤n≤109,1<=k1<=k2<=109 ...
- 牛客网练习赛7--购物 动态规划
题意: 在遥远的东方,有一家糖果专卖店. 这家糖果店将会在每天出售一些糖果,它每天都会生产出m个糖果,第i天的第j个糖果价格为C[i][j]元. 现在的你想要在接下来的n天去糖果店进行选购,你每天可以 ...
- 三角形周长和【牛客网】牛客网练习赛60
题目传送 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K 64bit IO Format:%lld 题目描述 输入描述: 输入描述 第一行一个整 ...
- 牛客网练习赛36 Ribbit的数列 分块
题目描述 Rabbit得到了一个长度为N的数列(数列编号从0到N−1).数列中每个数vali满足1<=vali<=C. 初始时数列中每个数均为1,现在Rabbit要对这个数列进行Q次操作, ...
- 牛客网 牛客练习赛13 A.幸运数字Ⅰ
A.幸运数字Ⅰ 链接:https://www.nowcoder.com/acm/contest/70/A 来源:牛客网 水题. 代码: 1 #include<iostream> 2 #in ...
最新文章
- Windows Server 2008 R2 SP1 安装NET FrameWork 4.0 受阻滞问题解决办法。
- java 修改商品如何实现的_Javaweb-案例练习-5-商品数量修改和合计金额实现
- 一个悄然成为世界最流行的操作系统诞生!
- Oracle增大redo log file的方法
- 测试心得:细说从逻辑到数据的用例设计
- Makefile 管理工具 — Automake and Autoconf
- KNX转485模块的开发
- 简单有效的记录日常收支
- 行业案例 | 数据分析在银行业应用之欺诈检测
- gsm在linux下工作原理,GSM模块详解 从工作原理到应用案例
- 计算机快速看图教程,CAD快速看图使用电脑版软件操作教程
- 支付宝提现,单笔转账到支付宝账户
- python网络爬虫笔记
- 四款功能强大的优质app合集,总有一个能给你带来帮助!
- traffic control 之 egress 队列
- 基于python-opencv给图像添加水印
- 【工业大数据】工厂大数据之数据源分析;如何挖掘并驾驭大数据的价值,成为“大数据企业”?
- 解决tomcat安装配置后localhost 打不开
- 计算机音乐数字谱抖音,抖音计算器谱子有哪些?计算器音乐乐谱大全
- 【黄啊码】浅谈PHP入门|如何学习PHP