AT_abc402_c [ABC402C] Dislike Foods
题目描述
[problemUrl]: https://atcoder.jp/contests/abc402/tasks/abc402_c
AtCoder 餐厅使用编号为 $1$ 到 $N$ 的 $N$ 种食材。
同时,餐厅提供编号为 $1$ 到 $M$ 的 $M$ 道菜品。第 $i$ 道菜品使用了 $K_i$ 种食材,具体为食材 $A_{i,1},\ A_{i,2},\ \ldots,\ A_{i,K_i}$。
Snuke 君目前讨厌所有 $N$ 种食材。如果一道菜品使用了至少一种 Snuke 君讨厌的食材,他就不能吃这道菜;反之,如果一道菜品没有使用任何他讨厌的食材,他就可以吃这道菜。
Snuke 君计划用 $N$ 天时间来克服对食材的厌恶。在第 $i$ 天,他会克服对食材 $B_i$ 的厌恶,从此不再讨厌该食材。
对于每个 $i=1,2,\ldots,N$,请计算以下值:
- 在第 $i$ 天 Snuke 君克服对食材 $B_i$ 的厌恶后,他能够吃的菜品数量。
输入格式
输入通过标准输入给出,格式如下:
> $N$ $M$
> $K_1$ $A_{1,1}$ $A_{1,2}$ $\ldots$ $A_{1,K_1}$
> $K_2$ $A_{2,1}$ $A_{2,2}$ $\ldots$ $A_{2,K_2}$
> $\vdots$
> $K_M$ $A_{M,1}$ $A_{M,2}$ $\ldots$ $A_{M,K_M}$
> $B_1$ $B_2$ $\ldots$ $B_N$
输出格式
输出 $N$ 行。第 $k$ 行应输出 $i=k$ 时的答案。
说明/提示
### 约束条件
- $1 \leq N \leq 3 \times 10^{5}$
- $1 \leq M \leq 3 \times 10^{5}$
- $1 \leq K_i \leq N$ ($1 \leq i \leq M$)
- 所有 $K_i$ 的总和不超过 $3 \times 10^{5}$
- $1 \leq A_{i,j} \leq N$ ($1 \leq i \leq M$, $1 \leq j \leq K_i$)
- $A_{i,j} \neq A_{i,k}$ ($1 \leq i \leq M$, $j \neq k$)
- $1 \leq B_i \leq N$ ($1 \leq i \leq N$)
- $B_i \neq B_j$ ($i \neq j$)
- 输入中的所有数值均为整数
### 样例解释 1
Snuke 君按以下顺序克服对食材的厌恶:
- 第 $1$ 天:克服食材 $1$。此时所有菜品都包含他讨厌的食材,因此输出 $0$。
- 第 $2$ 天:克服食材 $3$。此时菜品 $4$ 不再包含讨厌的食材,可以食用。其他菜品仍包含讨厌的食材,因此输出 $1$。
- 第 $3$ 天:克服食材 $2$。此时菜品 $1$ 也可以食用了。菜品 $1$ 和 $4$ 可以食用,其他不行,因此输出 $2$。
- 第 $4$ 天:克服食材 $5$。此时菜品 $3$ 也可以食用了。可以食用的菜品为 $1,3,4$,因此输出 $3$。
- 第 $5$ 天:克服食材 $4$。此时菜品 $2$ 也可以食用了。所有菜品都可以食用,因此输出 $4$。
翻译由 DeepSeek V3 完成