luogu3243

zzyNorthPole

题目描述

给定个点和个约束条件,求满足所有约束情况下,编号越小的点越先被访问的方案。

解题思路

很明显与拓扑排序有关,因为正图中决定次序的点总在后面被访问,所以我们考虑建立反图,让它们首先被决策。

如果反图上拓扑排序失败则不存在合法方案,否则存在合法方案。

接下来考虑如何推进拓扑排序的过程。在反图上执行拓扑排序,在答案序列中越后出现的点应该更先离开队列,因此我们用大根堆来维护队列,执行拓扑排序的过程,然后反向更新答案序列。

  • Title: luogu3243
  • Author: zzyNorthPole
  • Created at : 2023-09-09 07:25:08
  • Updated at : 2023-09-09 11:13:46
  • Link: https://zzynorthpole.github.io/2023/09/09/luogu3243/
  • License: This work is licensed under CC BY-NC-SA 4.0.
On this page
luogu3243