#P16739. [GKS 2019 #F] Teach Me

    ID: 19071 远端评测题 10000ms 1024MiB 尝试: 0 已通过: 0 显示难度普及+/提高− 上传者: 标签>2019状压 DPbitsetGoogle Kick Start

[GKS 2019 #F] Teach Me

题目描述

在 Google,我们喜欢互相教授新技能!公司有 NN 名员工,编号为 11 到 NN。一共有 SS 种不同的技能,编号为 11 到 SS。每名员工最多掌握 55 种不同的技能。

如果第 ii 名员工掌握了一项第 jj 名员工未掌握的技能,那么第 ii 名员工可以指导第 jj 名员工。请问有多少个有序对 (i,j)(i, j) 使得第 ii 名员工可以指导第 jj 名员工?

输入格式

输入的第一行给出测试用例的数量 TT。接下来有 TT 个测试用例。每个测试用例的第一行给出两个整数 NN 和 SS,分别表示员工的数量和技能的数量。

接下来的 NN 行描述每名员工掌握的技能。其中第 ii 行以一个整数 CiC_i 开头,表示第 ii 名员工掌握的技能数量。然后在同一行中跟着 CiC_i 个整数,其中第 jj 个整数 AijA_{ij} 表示第 ii 名员工掌握了技能 AijA_{ij}。

输出格式

对于每个测试用例,输出一行,格式为 Case #x: y,其中 xx 是测试用例编号(从 11 开始),yy 是满足条件的有序对 (i,j)(i, j) 的数量。

2
4 100
4 80 90 100 5
1 90
1 80
3 80 90 100
3 30
4 10 11 12 13
4 10 11 12 13
5 25 26 27 28 29
Case #1: 7
Case #2: 4

提示

在样例 #1 中:

  • (1,2)(1, 2) 是有效对,因为员工 1 掌握技能 100(还有 5 和 80),而员工 2 不掌握。
  • (1,3)(1, 3) 是有效对,因为员工 1 掌握技能 100(还有 5 和 90),而员工 3 不掌握。
  • (1,4)(1, 4) 是有效对,因为员工 1 掌握技能 5,而员工 4 不掌握。
  • (2,3)(2, 3) 是有效对,因为员工 2 掌握技能 90,而员工 3 不掌握。
  • (3,2)(3, 2) 是有效对,因为员工 3 掌握技能 80,而员工 2 不掌握。
  • (4,2)(4, 2) 是有效对,因为员工 4 掌握技能 100(还有 80),而员工 2 不掌握。
  • (4,3)(4, 3) 是有效对,因为员工 4 掌握技能 100(还有 90),而员工 3 不掌握。

总共有 7 个有效对,因此答案为 7。

在样例 #2 中:

  • (1,3)(1, 3) 是有效对,因为员工 1 掌握技能 10(还有 11、12 和 13),而员工 3 不掌握。
  • (2,3)(2, 3) 是有效对,因为员工 2 掌握技能 10(还有 11、12 和 13),而员工 3 不掌握。
  • (3,1)(3, 1) 是有效对,因为员工 3 掌握技能 28(还有 25、26、27 和 29),而员工 1 不掌握。
  • (3,2)(3, 2) 是有效对,因为员工 3 掌握技能 27(还有 25、26、28 和 29),而员工 2 不掌握。

总共有 4 个有效对,因此答案为 4。

限制条件

1≤T≤1001 \le T \le 100。

1≤S≤10001 \le S \le 1000。

对于所有 ii,1≤Ci≤51 \le C_i \le 5。

对于所有 i,ji, j,1≤Aij≤S1 \le A_{ij} \le S。

对于所有 j≠kj \ne k,Aij≠AikA_{ij} \ne A_{ik}。

测试集 1(可见)

2≤N≤5002 \le N \le 500。

测试集 2(隐藏)

2≤N≤5×1042 \le N \le 5 \times 10^4。

翻译由 DeepSeek V4 Pro 完成