AT_abc478_e [ABC478E] lt and le
题目描述
判断是否存在一个长度为 $N$ 的整数序列 $A=\{A_1,A_2,A_3, \cdots ,A_n\}(1 \le A_i \le n)$,使其满足 $Q$ 个条件:
每个条件由三元组 $(t_i,u_i,v_i)$ 给出,定义如下:
如果 $t_i = 0$,则$A_{u_i} \le A_{v_i}$。
如果 $t_i = 1$,则$A_{u_i} < A_{v_i}$。
如果存在,则找出一个这样的序列。如果存在多个序列满足所有条件,你可以输出其中任意一个。
输入格式
格式如下:
> $
> \begin{aligned}
> &N \ Q\\
> &t_1 \ \ u_1 \ \ v_1\\
> &t_2 \ \ u_2 \ \ v_2\\
> &\vdots\\
> &t_Q \ \ u_Q \ \ v_Q
> \end{aligned}
> $
输出格式
如果存在满足条件的整数序列,输出 `Yes`。
否则输出 `No`。
如果第一行输出 `Yes`,第二行输出一个满足条件的 $A$ 序列,其元素用空格分隔。
说明/提示
### 样例解释 1
设 $A=(1,4,2,1,3,5,6)$;这是一个长度为 $7$ 的整数序列,包含从 $1$ 到 $7$ 的整数,包括两端。
例如,第一条条件 $A_1 \le A_4$ 成立,因为 $1 \le 1 $。其他七条条件也都成立,所以输出对应 $ A=(1,4,2,1,3,5,6) $ 被认为是正确的。
此外,$ A=(1,1,1,1,2,2,3) $、$ A=(3,5,4,3,6,7,7) $ 等也满足这些条件,所以输出这些也是正确的。
### 样例解释 2
不存在满足 $A_1 < A_1$ 的整数序列 $A$。
### 约束条件
- $1 \le N \le 2 \times 10^5 $
- $1 \le Q \le 2 \times 10^5 $
- $t_i \in \lbrace 0,1 \rbrace(1 \le i \le Q)$
- $1 \le u_i \le N(1 \le i \le Q)$
- $1 \le v_i \le N(1 \le i \le Q)$
- 所有输入值都是整数。