P14285 [ICPC 2025 WF] Herding Cats

题目描述

你打算在巴库开一家猫咪咖啡馆,并想拍一张所有猫咪都坐在橱窗前的宣传照片。不幸的是,让猫做你想做的事是一项出了名的难题。不过你有个计划:你买了一组 $m$ 种不同品种的猫薄荷植株,你知道每只猫只喜欢其中的一些品种。橱窗里有一排 $m$ 个花盆,按顺序编号为 $1$ 到 $m$,你准备在每个花盆里放上一株猫薄荷。然后,每只猫会被引导(通过细绳上的玩具)沿着花盆从 $1$ 号走到 $m$ 号。当一只猫到达某个花盆,而那个花盆里的猫薄荷是它喜欢的品种时,它就会停在那里,即使那盆植物旁已经有其它猫也会如此。 :::align{center} ![](https://cdn.luogu.com.cn/upload/image_hosting/unj9cndz.png) 图 F.1:是第一个样例的一种可能的种植顺序。 ::: 你已经确定希望每只猫停在哪个花盆旁。你能否安排这些猫薄荷植株在花盆里的放置方式,好让所有猫最终都恰好停在你希望的位置?

输入格式

输入的第一行包含一个整数 $t$($1 \le t \le 10\,000$),表示测试用例的数量。接下来是 $t$ 个测试用例的描述。 每个测试用例的第一行包含两个整数 $n$ 和 $m$,其中 $n$($1 \le n \le 2 \cdot 10^5$)为猫的数量,$m$($1 \le m \le 2 \cdot 10^5$)为猫薄荷植株的种类数(也是花盆的数量)。猫薄荷植株编号从 $1$ 到 $m$。 接下来的 $n$ 行,每行描述一只猫。每行以两个整数 $p$ 和 $k$ 开头,其中 $p$($1 \le p \le m$)表示希望这只猫停留的花盆位置,$k$($1 \le k \le m$)表示这只猫喜欢的猫薄荷品种数。其余部分为 $k$ 个两两不同的整数,表示这只猫喜欢的猫薄荷品种的编号。 所有测试用例中,$n$ 的总和不超过 $2 \cdot 10^5$,$m$ 的总和不超过 $2 \cdot 10^5$,所有 $k$ 的总和不超过 $5 \cdot 10^5$。

输出格式

对于每个测试用例,如果存在一种安排方式让所有猫都能按照指定的位置停留,输出 `yes`。否则输出 `no`。

说明/提示

**样例 1 解释:** 在第一个测试用例中,一种可能的植株顺序为 $[2, 1, 5, 3, 4]$。这样,猫1会停在第2号花盆,因为这是她遇到的第一个她喜欢的品种。猫2也会停在这里。猫3会一直走到第4号花盆,如图 F.1 所示。 由 ChatGPT 5 翻译