#P16959. [SCCPC 2026] 精灵对战

    ID: 19043 远端评测题 3000ms 1024MiB 尝试: 0 已通过: 0 难度: 6 上传者: 标签>动态规划 DP贪心四川2026省赛/邀请赛

[SCCPC 2026] 精灵对战

题目描述

zz 爱玩洛克王国,尤其喜欢和别的玩家进行精灵对战。

现在有 nn 种精灵,编号为 11nn。精灵之间存在克制关系。对于每种精灵,它最多被 kk 种精灵克制。

当小 zz 的精灵 AA 与对手的精灵 BB 对战时,结果如下:

  • AA 克制 BB,且 BB 不克制 AA,则 BB 被击倒,AA 继续战斗;
  • BB 克制 AA,且 AA 不克制 BB,则 AA 被击倒,BB 继续战斗;
  • AABB 之间不存在任何克制关系,则二者同归于尽;
  • AABB 互相克制,则小 zz 可以通过高超的博弈技巧击败对手的精灵,即 BB 被击倒,AA 继续战斗。

zz 已经提前知道了对手的精灵出战顺序,这是一个长度为 mm 的序列,序列中可以出现重复的精灵。

zz 需要合理安排自己的精灵出战顺序来击败对手的所有精灵。对战过程中,当前精灵没有被击倒时,不能更换精灵;只有当前精灵被击倒或同归于尽后,小 zz 才能派出新的精灵。小 zz 可以多次派出同一种精灵。

派出一只精灵需要花费 11 的代价。请你求出小 zz 击败对手所有精灵所需的最小总花费。

输入格式

第一行包含三个整数 n,m,kn,m,k1n,m105,1k301 \le n,m \le 10^5, 1 \le k \le 30),分别表示精灵种类数、对手精灵出战序列长度,以及每种精灵最多被克制的精灵种类数。

接下来 nn 行,第 ii 行首先包含一个整数 sis_i0sik0 \le s_i \le k),表示克制第 ii 种精灵的精灵种类数;随后包含 sis_i 个整数 xi,1,xi,2,,xi,six_{i,1},x_{i,2},\ldots,x_{i,s_i}1xi,jn,xi,ji1 \le x_{i,j} \le n,x_{i,j} \neq i),表示克制第 ii 种精灵的精灵编号。

最后一行包含 mm 个整数 a1,a2,,ama_1,a_2,\ldots,a_m1ain1 \le a_i \le n),表示对手的精灵出战序列。

输入保证每一行克制关系中的精灵编号互不相同,且不会出现自克制关系。

输出格式

输出一行一个整数,表示小 zz 击败对手所有精灵所需的最小总花费。

3 4 2
1 2
2 3 1
1 1
2 2 2 1
1