【复习记录】拓扑排序

来源:互联网 发布:java编辑软件 编辑:程序博客网 时间:2024/06/05 14:52

概念

给出多对关系(a,b),表示a在b之前。最后确定一个序列,使整个序列满足所有的(a,b)的过程就是拓扑排序。

实现

邻接表+(优先)队列
输入时处理每个点的入度
开始时将所有入度为0的点入队,每次弹出时入度–

应用

hzoj 1285 确定比赛名次
由于规定编号较小的先输出,所以用小跟堆维护。
codevs2833 奇怪的梦境
记录弹出的点的数量,使初始点数与之作差即可。