题目大意
有\(n\)辆车在\(x\)轴整数上,它们要么向左要么向右行驶。 题目会给出\(m\)条关系: * \(1,x,y\): 表示\(x,y\)这两辆车无论速度如何,不可能相遇 * \(2,x,y\): 表示\(x,y\)这两辆车在某些特定速度下,有可能相遇 题目链接
\(2 \le n \le 2 * 10^5,2 \le m \le 2 * 10^5\) 若可以满足,给出每个汽车的坐标和移动方向。
思路
关系\(1,2\)都意味着两辆车的移动方向相反。 * 关系\(1\):两辆车相向而行 * 关系\(2\):两辆车相背而行
所以我们先用二分图来判定是否可以把所有车的方向确定下来。
如果在\(1,x,y\)中\(x\)向左行驶,那么\(y\)就向右行驶,且\(x\)在\(y\)的左边,那么我们就在新的图中建立一条边\(x \rightarrow y\)。其它情况可以类比这种操作。
如何判断关系能否被满足?只需在新的图中跑一遍\(拓扑排序\)即可!
代码
1 |
|
- 本文作者: 水蓝络合物
- 本文链接: https://miku39393939.github.io/2022/03/01/cf1635E/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!