AT_arc216_e [ARC216E] Swap or Reverse

题目描述

给定一个 $(1, 2, \ldots, N)$ 的排列 $P = (P_1, P_2, \ldots, P_N)$ 以及一个二元组集合 $S = \{(x_1, y_1), (x_2, y_2), \ldots, (x_M, y_M)\}$。 你可以按任意顺序执行以下两种操作任意多次: - 选择一对 $(l, r)$($1 \leq l < r \leq N$),使得 $(P_l, P_r) \in S$ 或 $(P_r, P_l) \in S$,然后交换 $P_l$ 和 $P_r$。 - 选择一对 $(l, r)$($1 \leq l < r \leq N$),使得 $(P_l, P_r) \in S$ 或 $(P_r, P_l) \in S$,然后反转 $P_l\sim P_r$,形式化地,将 $P$ 替换为 $(P_1, \ldots, P_{l-1}, P_r, P_{r-1}, \ldots, P_{l+1}, P_l, P_{r+1}, \ldots, P_N)$。 求通过操作能得到的最小字典序的排列。 本题多测。在一个测试点内,你需要解决 $T$ 组测试数据。

输入格式

第一行一个正整数 $T$,表示有 $T$ 组数据。 对于每组数据,第一行两个正整数 $N,M$,第二行 $N$ 个正整数表示排列 $P$。接下来 $M$ 行,每行两个正整数 $x_i,y_i$ 表示集合 $S$ 中的元素。

输出格式

$T$ 行,对于每组数据,输出一行一个长为 $N$ 的排列代表通过操作能得到的最小字典序的排列。

说明/提示

### 数据范围 - $1\le T \le 3\times 10^4$ - $2\le N \le 2\times 10^5$ - $1\le M \le 2\times 10^5$ - $1\le x_i