AT_abc304_h [ABC304Ex] Constrained Topological Sort
题目描述
给定一个有 N 个顶点、M 条边的有向图。对于 i=1,2,…,M,第 i 条边是从顶点 si 指向顶点 ti 的有向边。
请判断是否存在一个 N 元的排列 P=(P1,P2,…,PN),满足以下两个条件,并在存在时给出一个例子:
- 对于所有 i=1,2,…,M,都有 Psi<Pti。
- 对于所有 i=1,2,…,N,都有 Li≤Pi≤Ri。
输入格式
输入以如下格式从标准输入读入。
N M
s1 t1
s2 t2
⋮
sM tM
L1 R1
L2 R2
⋮
LN RN
输出格式
如果不存在满足条件的 P,输出 No。如果存在,第一行输出 Yes,第二行输出 P 的每个元素,空格分隔。如果有多个满足条件的 P,输出其中任意一个均可。
Yes
P1 P2 … PN
输入输出样例 #1
输入 #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 2
1 2
2 1
1 2
1 2
输出 #2
No
说明/提示
限制条件
- 2≤N≤2×105
- 0≤M≤min{4×105,N(N−1)}
- 1≤si,ti≤N
- si=ti
- i=j⟹(si,ti)=(sj,tj)
- 1≤Li≤Ri≤N
- 输入均为整数
样例解释 1
P=(3,1,4,2,5) 满足条件。实际上,
- 第 1 条边 (s1,t1)=(1,5),有 P1=3<5=P5
- 第 2 条边 (s2,t2)=(2,1),有 P2=1<3=P1
- 第 3 条边 (s3,t3)=(2,5),有 P2=1<5=P5
- 第 4 条边 (s4,t4)=(4,3),有 P4=2<4=P3
并且,
- L1=1≤P1=3≤R1=5
- L2=1≤P2=1≤R2=3
- L3=3≤P3=4≤R3=4
- L4=1≤P4=2≤R4=3
- L5=4≤P5=5≤R5=5
也都成立。
样例解释 2
不存在满足条件的 P,因此输出 No。
由 ChatGPT 4.1 翻译