随笔分类 - ACWing
摘要:步骤: 1.输入边时将入度加1; 2.在bfs函数中将所有入度为0的点入队; 3.如果下个点可达,则的入度--,如果入度为0, 将其入度。 /*题目要求:本题要求是求出有向图中的任意一个拓扑序列,有则输出这个序列,没有则输出-1; *思路:一个点的入度为0,代表没有点指向它,所以它可以入队,接着搜索
阅读全文
摘要:思路:dfs(深度搜索),每次搜索没有标记过的数字,直到全部搜索完毕,输出路径,回溯,取消标记。 #include <iostream> #include <cstring> #include <algorithm> using namespace std; const int N = 100010
阅读全文
摘要:可以将连通块看成集合,合并连通块可以看成将集合合并,但是要注意存储连通块中的点数 #include <iostream> #include <cstring> #include <algorithm> using namespace std; const int N = 100010; int n,
阅读全文
摘要:并查集: 1.将两个集合合并 2.询问两个元素是否在同一个集合 基本原理:每个集合用一棵树来表示,树根的编号为整个集合的编号。每个节点储存它的父节点,p[x]表示x的父节点。 问题1:如何判断树根:if(p[x] == x) 问题2:如何求集合编号:while(p[x] != x) x = p[x]
阅读全文
浙公网安备 33010602011771号