#HK4227. 「ROI 2021 Day1」投资报告

「ROI 2021 Day1」投资报告

题目描述

译自 ROI 2021 Day1 T4. Доклад инвесторам

公司里有 n (n2)n\ (n \ge 2) 只松鼠,编号从 11nn。编号为 11 的松鼠是公司的创始人,其余每只松鼠都有一个直接上司。换句话说,松鼠的层级结构是一个根树,父节点是上司,子节点是下属。有下属的松鼠称为经理,没有下属的称为顾问。每个经理最多有 88 个下属。注意,公司的创始人也是经理。

创始人决定向投资者报告最近产品开发的改进情况。每个改进都是某个顾问的工作成果,所有改进按时间顺序编号。

每个顾问都有一个自己完成的改进列表。每个顾问必须从中选择一个改进向他的经理报告。因此,每个顾问的报告只包含一个改进。

每个经理,包括创始人,都必须汇总所有下属的报告,形成自己的报告。为此,他将下属的报告按某种顺序依次记录。例如,如果第一个报告包含改进 [1,3][1, 3],第二个报告包含改进 [2,4,10][2, 4, 10],那么汇总后的报告可以是 [2,4,10,1,3][2, 4, 10, 1, 3][1,3,2,4,10][1, 3, 2, 4, 10],但不能是其他顺序。

创始人希望报告中的改进按时间顺序排列,即按编号递增。请帮助顾问选择他们要报告的改进,并帮助经理选择汇总下属报告的顺序,以确保创始人的最终报告中的改进按时间顺序排列。

输入格式

第一行包含一个整数 n (2n105)n\ (2 \leq n \leq 10^5),表示公司的松鼠数量。接下来是 nn 行,每行描述一只松鼠:

  • 如果松鼠是经理,描述以数字 11 开头,接着是 ki (1ki8)k_i\ (1 \le k_i \le 8),表示该经理的直接下属数量,然后是 kik_i22nn 之间的不同的数字,表示下属的编号。
  • 如果松鼠是顾问,描述以数字 22 开头,接着是 mim_i,表示该顾问可以报告的改进数量,然后是 mim_i 个从 1110510^5的不同的数字,表示改进的编号。

编号为 11 的松鼠(创始人)总是经理,其余每只松鼠作为下属只出现一次,并且直接或间接地隶属于创始人。

所有顾问的 mim_i 之和不超过 10510^5。保证没有两个顾问完成相同的改进,即所有顾问提到的改进都是不同的。

输出格式

如果无法按要求组成报告,输出 No

如果可以组成报告,输出 Yes。然后你可以选择输出一个方案,描述每只松鼠的具体情况:

  • 如果松鼠是经理,输出下属的编号,按需要的顺序排列他们的报告。
  • 如果松鼠是顾问,输出他需要报告的改进编号。

注意,你可以选择是否输出方案。如果程序不输出方案,但正确判断了报告的可行性,将获得 50%50\% 的分数。

注意即使判断报告可行性是正确的,输出错误的方案会被判定 Wrong Answer,且该测试点得分为零。

6
1 3 5 4 6
2 3 10 61 60
2 2 80 20
2 2 40 70
1 2 3 2
2 4 30 90 91 92
Yes
5 6 4
10
20
40
2 3
30
3
1 2 2 3
2 1 1
2 1 2
Yes

在第二个样例中,没有输出方案,这能获得 50%50\% 的分数。

5
1 2 2 3
2 1 2
1 2 4 5
2 1 1
2 1 3
No

在第三个样例中,每个顾问只完成了一个改进,因此改进的选择是唯一的。

第三个经理有两种可能的报告顺序:[1,3][1, 3][3,1][3, 1]

第一个经理有四种可能的报告顺序,考虑到第三个经理的所有可能性:[1,3]+[2]=[1,3,2][1, 3] + [2] = [1, 3, 2][2]+[1,3]=[2,1,3][2] + [1, 3] = [2, 1, 3][3,1]+[2]=[3,1,2][3, 1] + [2] = [3, 1, 2][2]+[3,1]=[2,3,1][2] + [3, 1] = [2, 3, 1],但这些顺序中没有一个是按时间顺序排列的。

数据范围与提示

如果在所有测试中正确判断了报告的可行性,并且在所有的测试点中提供了正确的方案,将获得满分。

否则,如果在所有测试中正确判断了报告的可行性,但是没有给出方案,将获得 50%50\% 的分数。

KK 为经理的最大直接下属数量,即 K=maxkiK = \max k_i。设顾问的改进总数为 mi\sum m_i

详细子任务附加限制及分值如下表所示。其中子任务 00 是样例。

子任务 分值 附加限制 KK 的限制 子任务依赖
11 1818 n,mi10n, \sum m_i \leq 10 K2K \le 2
22 66 n,mi20n, \sum m_i \leq 20 K8K \le 8 0,10, 1
33 44 n,mi100n, \sum m_i \leq 100 K2K \le 2 11
44 44 K5K \le 5 0,1,30, 1, 3
55 44 K8K \le 8 0,140, 1\sim 4
66 44 n,mi500n, \sum m_i \le 500 K2K \le 2 1,31, 3
77 44 K5K \le 5 0,1,3,4,60, 1, 3, 4, 6
88 44 K8K \le 8 0,170, 1\sim 7
99 88 n,mi2000n, \sum m_i \le 2000 K2K \le 2 1,3,61, 3, 6
1010 66 K5K \le 5 0,1,3,4,6,7,90, 1, 3, 4, 6, 7, 9
1111 66 K8K \le 8 0,1100, 1\sim 10
1212 1212 n,mi105n, \sum m_i \le 10^5 K2K \le 2 1,3,6,91, 3, 6, 9
1313 66 K5K \le 5 0,1,3,4,6,7,9,10,120, 1, 3, 4, 6, 7, 9, 10, 12
1414 1414 K8K \le 8 0,1130, 1\sim 13