[ABC304Ex] Constrained Topological Sort

题意翻译

给定一张 $n$ 个点 $m$ 条边的有向图,判断是否存在一个拓扑序 $P$ 满足 $P_i\in[L_i,R_i]$。 translated by cszyf

题目描述

[problemUrl]: https://atcoder.jp/contests/abc304/tasks/abc304_h $ N $ 頂点 $ M $ 辺の有向グラフが与えられます。 $ i\ =\ 1,\ 2,\ \ldots,\ M $ について、$ i $ 番目の辺は頂点 $ s_i $ から頂点 $ t_i $ への有向辺です。 $ (1,\ 2,\ \ldots,\ N) $ の順列 $ P\ =\ (P_1,\ P_2,\ \ldots,\ P_N) $ であって下記の $ 2 $ つの条件をともに満たすものが存在するかを判定し、存在する場合はその一例を示してください。 - すべての $ i\ =\ 1,\ 2,\ \ldots,\ M $ について、$ P_{s_i}\ \lt\ P_{t_i} $ - すべての $ i\ =\ 1,\ 2,\ \ldots,\ N $ について、$ L_i\ \leq\ P_i\ \leq\ R_i $

输入输出格式

输入格式


入力は以下の形式で標準入力から与えられる。 > $ N $ $ M $ $ s_1 $ $ t_1 $ $ s_2 $ $ t_2 $ $ \vdots $ $ s_M $ $ t_M $ $ L_1 $ $ R_1 $ $ L_2 $ $ R_2 $ $ \vdots $ $ L_N $ $ R_N $

输出格式


条件を満たす $ P $ が存在しない場合は、`No` と出力せよ。存在する場合は、下記の形式の通り、$ 1 $ 行目に `Yes` と出力し、 $ 2 $ 行目に $ P $ の各要素を空白区切りで出力せよ。 条件を満たす $ P $ が複数存在する場合は、そのうちのどれを出力しても正解となる。 > Yes $ P_1 $ $ P_2 $ $ \ldots $ $ P_N $

输入输出样例

输入样例 #1

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

输出样例 #1

Yes
3 1 4 2 5

输入样例 #2

2 2
1 2
2 1
1 2
1 2

输出样例 #2

No

说明

### 制約 - $ 2\ \leq\ N\ \leq\ 2\ \times\ 10^5 $ - $ 0\ \leq\ M\ \leq\ \min\lbrace\ 4\ \times\ 10^5,\ N(N-1)\ \rbrace $ - $ 1\ \leq\ s_i,\ t_i\ \leq\ N $ - $ s_i\ \neq\ t_i $ - $ i\ \neq\ j\ \implies\ (s_i,\ t_i)\ \neq\ (s_j,\ t_j) $ - $ 1\ \leq\ L_i\ \leq\ R_i\ \leq\ N $ - 入力はすべて整数 ### Sample Explanation 1 $ P\ =\ (3,\ 1,\ 4,\ 2,\ 5) $ が条件を満たします。実際、 - $ 1 $ 番目の辺 $ (s_1,\ t_1)\ =\ (1,\ 5) $ について、$ P_1\ =\ 3\ \lt\ 5\ =\ P_5 $ - $ 2 $ 番目の辺 $ (s_2,\ t_2)\ =\ (2,\ 1) $ について、$ P_2\ =\ 1\ \lt\ 3\ =\ P_1 $ - $ 3 $ 番目の辺 $ (s_3,\ t_3)\ =\ (2,\ 5) $ について、$ P_2\ =\ 1\ \lt\ 5\ =\ P_5 $ - $ 4 $ 番目の辺 $ (s_4,\ t_4)\ =\ (4,\ 3) $ について、$ P_4\ =\ 2\ \lt\ 4\ =\ P_3 $ が成り立ちます。また、 - $ L_1\ =\ 1\ \leq\ P_1\ =\ 3\ \leq\ R_1\ =\ 5 $ - $ L_2\ =\ 1\ \leq\ P_2\ =\ 1\ \leq\ R_2\ =\ 3 $ - $ L_3\ =\ 3\ \leq\ P_3\ =\ 4\ \leq\ R_3\ =\ 4 $ - $ L_4\ =\ 1\ \leq\ P_4\ =\ 2\ \leq\ R_4\ =\ 3 $ - $ L_5\ =\ 4\ \leq\ P_5\ =\ 5\ \leq\ R_5\ =\ 5 $ も成り立ちます。 ### Sample Explanation 2 条件を満たす $ P $ が存在しないので、`No` を出力します。