Gym - 102500F: Firetrucks Are Red
题目大意
给定多个序列,其中有相同项的可以连边,求连完后的图是否包含所有序列并且有生成树?如果有,求一个生成树
解法
首先想到的是用 map
保存包含一个数的所有序列编号,之后互相连边,在跑一遍 DFS,得出答案
交上去——喜提 TLE
于是我们可以发现,对于一个数如果有多个序列都包含它,那么它们之间将构成一个完全图,所以我们可以把每一个序列都只连向第一个包含它的序列,这样也不影响答案
除此之外,我们还可以在输入时就构建并查集,从而省去后面的判断时间
AC