随笔分类 -  链式前向星

链式前向星
摘要:##AcWing 847. 图中点的层次 一、题目描述 给定一个 n 个点 m 条边的有向图,图中可能存在重边和自环。 所有边的长度都是 1,点的编号为 1n。 请你求出 1 号点到 n 号点的最短距离,如果从 1 号点无法走到 n 号点,输出 1阅读全文
posted @ 2021-09-21 10:18 糖豆爸爸 阅读(518) 评论(1) 推荐(0) 编辑
摘要:##AcWing 846. 树的重心 一、题目描述 给定一颗树,树中包含 n 个结点(编号 1n)和 n1 条无向边。 请你找到树的重心,并输出将重心删除后,剩余各个连通块中点数的最大值。 重心定义:重心是指树中的一个结点,如果将这个点删除后,剩余各个连通块中点数的最大值最小 阅读全文
posted @ 2021-09-18 15:25 糖豆爸爸 阅读(730) 评论(0) 推荐(1) 编辑
摘要:题目传送门 一、思路分析 1、不停的接收结点关系,创建有向图,A->B有边表示 A<B 2、每进入一个结点关系后,判断现在的有向图是否有环,有环就是冲突,提示并退出。判断是否有环可以用拓扑排序, 判断方法是:只要入队(或者出队)的次数不等于节点的个数,就说明有环,有环就是存在矛盾的。 3、在无环的情 阅读全文
posted @ 2021-08-17 10:18 糖豆爸爸 阅读(102) 评论(0) 推荐(0) 编辑
摘要:题目传送门 一、二分图着色原理 二、dfs深度优先遍历解法 #include <bits/stdc++.h> using namespace std; //dfs代码简短一些,注意第29行。 const int N = 1e4 + 10; //题目中说结点数最大10^4=1e4 const int 阅读全文
posted @ 2021-08-13 16:08 糖豆爸爸 阅读(45) 评论(0) 推荐(0) 编辑
摘要:题目传送门 一、题意分析 二、bfs解法 1、链式前向星 #include <bits/stdc++.h> using namespace std; const int N = 10010; //10000条边 queue<int> q; bool st[N]; //走过了没 int n; //n个 阅读全文
posted @ 2021-08-13 14:34 糖豆爸爸 阅读(166) 评论(0) 推荐(0) 编辑
摘要:题目传送门 一、解题思路 1、用拓扑排序干掉非环结点 2、用dfs或者bfs找出最小环的长度 二、拓扑排序+dfs 解法 1、vector邻接表实现 #include <bits/stdc++.h> using namespace std; /** 思路:其实就是求最小环。每个点的出度都是1 阅读全文
posted @ 2021-08-11 09:07 糖豆爸爸 阅读(255) 评论(0) 推荐(0) 编辑
摘要:一、邻接矩阵 适用: 稠密图,就是说点数的平方与边数接近的情况,换句话说就是边特别多。 不适用: 稀疏图,就是点数的平方与边数差的特别多,边数少,但点数多,就不行了,因为空间占用太大了。 实现代码 #include <bits/stdc++.h> using namespace std; const 阅读全文
posted @ 2021-08-10 16:32 糖豆爸爸 阅读(829) 评论(0) 推荐(0) 编辑

Live2D
点击右上角即可分享
微信分享提示