拓扑排序
图论拓扑排序
_C9
咸鱼也要有咸鱼的样子
展开
-
【洛谷】P1807 最长路(拓扑排序)
解题思路:这道题目解法很多,因为DAG问题,我就直接选择了拓扑排序,利用dp的思想不断更新答案,定义了ans数组,ans[i]代表从1到i的最长路,一开始全部赋予最小值,如果最后ans[n]=min,说明1与n不连通,否则输出ans[n]下面附上ac代码;#include <iostream>#include <cstdio>#include <cstdlib>#include <cstring>#include <algorit...原创 2021-05-16 10:15:01 · 407 阅读 · 1 评论 -
【洛谷】P4017 最大食物链计数(拓扑排序+记录初度)
解题思路:食物链,单项捕食关系,可以抽象成一个有向图,然后题目还给出了一个条件,每一条食物链最左端入度为0,最右端出度为0,而且又没有环,题目给出的条件很多,很容易就判断出这道题目用拓扑排序做,每次删节点的时候,把删去节点的去向节点的食物链数加1,因为食物链的终端出度为零,在拓扑排序的基础上我们需要加入一个数组记录每个节点的出度,最后枚举出度为0的节点,最后把出度为0的食物链条数累加起来就是答案。下面附上ac代码#include <iostream>#include &l...原创 2021-05-16 09:14:38 · 376 阅读 · 0 评论 -
【洛谷】P1113 杂务(DAG+拓扑排序)
解题思路:是一道DAG(有向无环图)用拓扑排序解决的模板题,详细解决过程看题目注释下面附上ac代码#include <iostream>#include <cstdio>#include <cstdlib>#include <cstring>#include <algorithm>#include <cmath>#include <string>#include <cstring>...原创 2021-05-13 20:31:11 · 227 阅读 · 0 评论 -
超好理解的图论算法——拓扑排序
所谓拓扑排序也就是有向无环图,它可以检验一个有向图中是否存在回路,具体的操作方法就是(1)在有向图中选一个没有前驱的顶点并且输出(2)从图中删除该顶点和所有以它为尾的弧,即删除所有与它有关的边。(3)重复上述两步,直至全部顶点均已输出;或者当图中不存在无前驱的顶点为止。借用博主的图片理解拓扑排序https://blog.csdn.net/qq_40693171/article/details/100536278?1:删除1或2输出 2:删除2或3以及对应边 3:删除3或者4以及对应原创 2021-01-19 15:42:39 · 166 阅读 · 0 评论