AT_agc074_a [AGC074A] Communicate Topological Order
题目描述
给定一个简单的有向无环图 $G$,有 $N$ 个顶点,编号为 $1$ 到 $N$。$G$ 有 $M$ 条边,第 $i$ 条边从顶点 $x_i$ 指向顶点 $y_i$。
一个排列 $P=(P_1,P_2,\ldots,P_N)$,如果满足以下条件,则称为**特殊排列**:
- 对于所有 $i=1,2,\cdots,M$,都有 $P_{x_i} < P_{y_i}$。
现在给定一个特殊排列 $P$。高桥和青木将用这个排列玩一个游戏。高桥知道排列 $P$ 的每一项的值,而青木只知道 $P$ 是特殊排列。且他们都知道图 $G$。高桥会选择 $P$ 中的一些项,并将这些项的位置和值告诉青木。请你计算,为了使青木能够确定 $P$ 的全部项,最少需要透露多少项的信息。
请解答 $T$ 组测试数据。
输入格式
输入从标准输入读入,格式如下:
> $T$ $case_1$ $case_2$ $\vdots$ $case_T$
每组测试数据格式如下:
> $N$ $M$
> $x_1$ $y_1$
> $x_2$ $y_2$
> $\vdots$
> $x_M$ $y_M$
> $P_1$ $P_2$ \ldots $P_N$
输出格式
输出共 $T$ 行,第 $t$ 行输出第 $t$ 组测试数据的答案。
说明/提示
### 样例解释 1
在第一组样例中,如果高桥告诉青木 $P_1=5, \; P_4=2$,那么青木就能确定全部的 $P$。并且,如果只告诉一项 $P$ 的信息,青木无法确定全部的 $P$。
### 约束条件
- $1 \leq T \leq 10^4$
- $1 \leq N \leq 2 \times 10^5$
- $0 \leq M \leq 2 \times 10^5$
- $1 \leq x_i, y_i \leq N$
- 给定的图 $G$ 是一个简单有向无环图
- $1 \leq P_i \leq N$
- $P_1, P_2, \ldots, P_N$ 互不相同
- $P_{x_i} < P_{y_i}$
- 所有测试数据中 $N$ 的总和不超过 $2 \times 10^5$
- 所有测试数据中 $M$ 的总和不超过 $2 \times 10^5$
- 输入数据均为整数。
由 ChatGPT 5 翻译