问题描述 给定一个 DAG,求一个拓扑序,使得节点 \(i\) 的拓扑序 \(\in [l_i,r_i]\). 题解 首先进行一个预处理:对于所有 \(u\),令 \(\forall (v,u)\in E, l_u\leftarrow \max(l_u,l_v+1),\forall (u,v)\in E, r_u\leftarrow \min(r_u,r_v-1)\). 也就是 \(l_u\) 对任何可能的拓扑序的最小值取 \(\max\),\(r_u\) 同理.若此时有节点 \(l_u>r_u