
拓扑排序
SYaoJun
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
848. 有向图的拓扑序列
AcWing题目链接拓扑排序如果用数组模拟队列的话,可以直接输出拓扑序列注意队尾是从-1开始#include <iostream>#include <cstring>using namespace std;const int N = 1e5+5;int h[N], e[N], ne[N];int q[N], d[N]={0};int idx = 0;i...原创 2019-10-29 20:59:17 · 292 阅读 · 0 评论 -
7-34 任务调度的合理性 (25 分)
拓扑排序#include <iostream>#include <cstdio>#include <algorithm>#include <queue>#include <vector>using namespace std;const int N = 105;int ind[N] = {0};int n;vector...原创 2019-10-19 23:25:01 · 526 阅读 · 0 评论 -
#1174 : 拓扑排序·一
题目链接:hihocoder一道拓扑排序的模板题拓扑排序的步骤为:1.定义一个队列,并把所有入度为0的节点加入队列2.取出队首节点,然后删去从它出发的边,并令这些边到达的定点入度减1,如果某个顶点入度减为0,则将其加入队列。3.反复进行2操作,直到队列为空。4.如果队列为空时,入过队的节点数目恰好为N,说明拓扑排序成功,图为有向无环图;否则拓扑排序失败,图中有环。#include&l...原创 2019-02-14 19:21:59 · 184 阅读 · 0 评论 -
#1175 : 拓扑排序·二
题目链接:hihocoder注意:病毒对所有的出度边都复制一份自身的内容当自身入度为0之后,病毒的数量就不会再改变。坑点:病毒数量求和的时候,要边加边取模。#include<cstdio>#include<vector>#include<queue>#include<algorithm>#include<cstring>...原创 2019-02-14 19:58:42 · 185 阅读 · 0 评论 -
拓扑排序(最长路径)
题目链接:计蒜客每次记录出度为零的顶点,加上出度边的最大值,作为下一个到达顶点的最大值,不断更新dp数组,然后从数组中找到一个最大值,就是整个图的最长路径。详情请观看B站大佬视频#include<cstdio>#include<utility>#include<vector>#include<queue>#include<cstr...原创 2019-02-14 21:41:27 · 3141 阅读 · 0 评论 -
1146 Topological Order (25 分)
拓扑排序的简单入门题满足拓扑排序的条件是加入该节点时入度为0所以每放入一个节点,就把该节点发出的边所到达的顶点的入度减一,然后判断下一个拓扑排序中的点是否满足入度为1,如果满足则继续,不满足肯定不是拓扑排序序列。注意的地方:1.把数组作为参数传入函数时,主函数中的数组内容会跟着改变。两个解决策略,一个就是把数组内容复制给另一个新的数组,另一个方法就是不使用函数,直接在主函数中写。2.把要...原创 2019-03-01 16:15:29 · 213 阅读 · 0 评论 -
164. 可达性统计
题目链接#include <iostream>#include <cstring>#include <vector>#include <queue>#include <bitset>#include <algorithm>using namespace std;const int N =3e4+7;int m...原创 2019-09-05 10:44:35 · 147 阅读 · 0 评论 -
207. Course Schedule
使用hashmap建图,查找速度很快。class Solution {public: bool canFinish(int num, vector<vector<int>>& pre) { unordered_map<int, vector<int>> mp; vector<int> i...原创 2019-09-06 11:14:07 · 92 阅读 · 0 评论