概念
给出多对关系(a,b),表示a在b之前。最后确定一个序列,使整个序列满足所有的(a,b)的过程就是拓扑排序。
实现
邻接表+(优先)队列
输入时处理每个点的入度
开始时将所有入度为0的点入队,每次弹出时入度–
应用
hzoj 1285 确定比赛名次
由于规定编号较小的先输出,所以用小跟堆维护。
codevs2833 奇怪的梦境
记录弹出的点的数量,使初始点数与之作差即可。
给出多对关系(a,b),表示a在b之前。最后确定一个序列,使整个序列满足所有的(a,b)的过程就是拓扑排序。
邻接表+(优先)队列
输入时处理每个点的入度
开始时将所有入度为0的点入队,每次弹出时入度–
hzoj 1285 确定比赛名次
由于规定编号较小的先输出,所以用小跟堆维护。
codevs2833 奇怪的梦境
记录弹出的点的数量,使初始点数与之作差即可。