#P14285. [ICPC 2025 WF] Herding Cats

[ICPC 2025 WF] Herding Cats

Description

你打算在巴库开一家猫咪咖啡馆,并想拍一张所有猫咪都坐在橱窗前的宣传照片。不幸的是,让猫做你想做的事是一项出了名的难题。不过你有个计划:你买了一组 mm 种不同品种的猫薄荷植株,你知道每只猫只喜欢其中的一些品种。橱窗里有一排 mm 个花盆,按顺序编号为 11mm,你准备在每个花盆里放上一株猫薄荷。然后,每只猫会被引导(通过细绳上的玩具)沿着花盆从 11 号走到 mm 号。当一只猫到达某个花盆,而那个花盆里的猫薄荷是它喜欢的品种时,它就会停在那里,即使那盆植物旁已经有其它猫也会如此。

:::align{center}

图 F.1:是第一个样例的一种可能的种植顺序。 :::

你已经确定希望每只猫停在哪个花盆旁。你能否安排这些猫薄荷植株在花盆里的放置方式,好让所有猫最终都恰好停在你希望的位置?

Input Format

输入的第一行包含一个整数 tt1t100001 \le t \le 10\,000),表示测试用例的数量。接下来是 tt 个测试用例的描述。

每个测试用例的第一行包含两个整数 nnmm,其中 nn1n21051 \le n \le 2 \cdot 10^5)为猫的数量,mm1m21051 \le m \le 2 \cdot 10^5)为猫薄荷植株的种类数(也是花盆的数量)。猫薄荷植株编号从 11mm

接下来的 nn 行,每行描述一只猫。每行以两个整数 ppkk 开头,其中 pp1pm1 \le p \le m)表示希望这只猫停留的花盆位置,kk1km1 \le k \le m)表示这只猫喜欢的猫薄荷品种数。其余部分为 kk 个两两不同的整数,表示这只猫喜欢的猫薄荷品种的编号。

所有测试用例中,nn 的总和不超过 21052 \cdot 10^5mm 的总和不超过 21052 \cdot 10^5,所有 kk 的总和不超过 51055 \cdot 10^5

Output Format

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

2
3 5
2 2 1 5
2 3 1 4 5
4 2 3 4
3 5
2 2 1 5
2 3 1 4 5
5 2 3 4
yes
no

Hint

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

由 ChatGPT 5 翻译