拓扑排序模板(AcWing848)
题目
思路分析
n和m数量级相差不多,属于稀疏图,建立一个邻接表储存边和点。邻接表原理推荐看:图的存储结构之邻接表(详解) 建立一个数组d[n],存储每个点的入度。 用数组模拟链表(add操作),极大提升效率。操作原理具体可看acwing的分享静态链表与动态链表 作者:Raptazure , 数组模拟队列 topsort()函数模板
AC代码
#include
#include
#include
using namespace std;
const int N=100010;
int head[N],e[N],ne[N];
int q[N],d[N];
int idx;
int n,m;
void add(int a, int b)
{
e[idx]=b;ne[idx]=head[a];head[a]=idx++;
}
int top
共有 0 条评论