问题陈述
给定一个有N个顶点和M条边的有向图。对于i=1,2,ldots,M,第i条边从顶点si指向顶点ti。
确定是否存在一个排列P=(P1,P2,ldots,PN),满足以下两个条件,如果存在,提供一个示例。
- 对于所有i=1,2,ldots,M,有PsiltPti。
- 对于所有i=1,2,ldots,N,有LileqPileqRi。
约束条件
- 2leqNleq2times105
- $0 \\leq M \\leq \\min\\lbrace 4 \\times 10^5, N(N-1) \\rbrace$
- 1leqsi,tileqN
- sineqti
- ineqjimplies(si,ti)neq(sj,tj)
- 1leqLileqRileqN
- 所有输入值都是整数。
输入
从标准输入中按以下格式给出输入:
N M
s1 t1
s2 t2
vdots
sM tM
L1 R1
L2 R2
vdots
LN RN
输出
如果不存在满足条件的P,则输出No
。如果存在满足条件的P,则在第一行打印Yes
,在第二行以空格分隔的形式打印P的元素,格式如下。如果有多个满足条件的P,则接受任何一个。
Yes
P1 P2 ldots PN
示例输入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
P=(3,1,4,2,5) 满足条件。事实上,
- 对于第一条边(s1,t1)=(1,5),我们有 P1=3lt5=P5;
- 对于第二条边(s2,t2)=(2,1),我们有 P2=1lt3=P1;
- 对于第三条边(s3,t3)=(2,5),我们有 P2=1lt5=P5;
- 对于第四条边(s4,t4)=(4,3),我们有 P4=2lt4=P3。
此外,
- L1=1leqP1=3leqR1=5,
- L2=1leqP2=1leqR2=3,
- L3=3leqP3=4leqR3=4,
- L4=1leqP4=2leqR4=3,
- L5=4leqP5=5leqR5=5。
示例输入2
2 2
1 2
2 1
1 2
1 2
示例输出2
No
没有满足条件的P,因此输出No
。