题目名称 2043. [POI 2003]可爱的猴子
输入输出 monkeya.in/out
难度等级 ★★
时间限制 1000 ms (1 s)
内存限制 256 MiB
测试数据 10
题目来源 Gravatarmikumikumi 于2015-09-22加入
开放分组 全部用户
提交状态
分类标签
并查集
分享题解
通过:32, 提交:64, 通过率:50%
GravatarZlycerQan 100 0.352 s 56.96 MiB C++
GravatarZlycerQan 100 0.360 s 56.96 MiB C++
GravatarLightbulb 100 0.364 s 6.39 MiB C++
Gravatarkarles 100 0.398 s 7.75 MiB C++
GravatarZlycerQan 100 0.403 s 39.87 MiB C++
Gravatarkarles 100 0.419 s 7.75 MiB C++
GravatarZlycerQan 100 0.432 s 21.30 MiB C++
Gravatarkarles 100 0.434 s 7.75 MiB C++
Gravatarkarles 100 0.442 s 7.75 MiB C++
Gravataronlysky 100 0.456 s 21.30 MiB C++
关于 可爱的猴子 的近10条评论(全部评论)
回复 @┭┮﹏┭┮ :
好好好
Gravatar超人
2024-02-19 22:10 9楼
逆天题,沙雕猴子
Gravatar┭┮﹏┭┮
2024-02-18 22:04 8楼
查了半天翻了各种题解,发现自己并查集没初始化。
GravatarMagic_Sheep
2016-09-13 09:06 7楼
回复 @cstdio :
我戳。。。居然这么没有素质
Gravatar萌萌哒姐姐
2015-12-06 20:48 6楼
显然的倒序维护并查集
Gravatar四季木哥
2015-09-24 07:40 5楼
论不知道数据范围的忧伤/// 一开始还点开标程看了下,开的是20w,于是就都开了20w,wa2个点发现m有270000,开30w发现m有400000.。。。。。。。
于是便知道了数据范围: n 20w, m 40w。
然而感谢数据没有卡我那一个小bug,最后一次交的应该是正确的。。
GravatarSkyo
2015-09-23 17:08 4楼
回复 @cstdio :
好方法,23333
Gravatarmikumikumi
2015-09-22 22:58 3楼
回复 @mikumikumi :
我一般都直接改时限的,反正没人知道
Gravatarcstdio
2015-09-22 21:07 2楼
加一堆奇怪的优化才能过,
Gravatarmikumikumi
2015-09-22 19:31 1楼

2043. [POI 2003]可爱的猴子

★★   输入文件:monkeya.in   输出文件:monkeya.out   简单对比
时间限制:1 s   内存限制:256 MiB

【题目描述】

有$n$只猴子,第一只尾巴挂在树上,剩下的$n-1$只,要么被其他的猴子抓住,要么抓住了其他的猴子,要么两者均有。

当然一只猴子最多抓两只另外的猴子,因为只有两只猴爪子嘛。

现在给出这$n$只猴子抓与被抓的信息,并且在某个时刻可能某只猴子会放掉它左手或右手的猴子,导致某些猴子落在地上。

求每只猴子落地的时间。

【输入格式】

第一行两个$n,m(n\leq 2\times 10^5,m\leq 4\times 10^5)$,表示有$n$只猴子,并且总时间为$m-1$。

接下来$n$行,描述了每只猴子的信息,每行两个数,分别表示这只猴子左手和右手抓的猴子的编号,如果是$-1$,表示该猴子的那只手没抓其他的猴子。

再接下来$m$行,按时间顺序给出了一些猴子放手的信息,第$i$行表示$i-1$时刻某只猴子的放手信息,信息以两个数给出,前者表示放手的猴子的编号,后者表示其放的是哪只手,$1$表示左手,$2$表示右手。

【输出格式】

共输出$n$行,第$i$行表示第$i$只猴子掉落的时刻,若第$i$只猴子$m-1$时刻以后还没掉落,就输出$-1$。

【样例输入】

3 2
-1 3
3 -1
1 2
1 2
3 1

【样例输出】

-1
1
1