
深度优先搜索(dfs)
深度优先搜索(bfs)
Cando-01
至尊高坐天中 四海皆在目下!
展开
-
E. Bertown roads
low[]更新回溯最短的时间点,dfn[]到达的时间点。深度搜索,遇到访问过的点表明可以构成这段路径强连通分量,更新low。当low[to]>dfn[now]时,说明now不在含有to的强连通分量里,即这个图里含有不止一个强连通分量。在有向图中点与点能互相到达。即求从点1出发的强连通分量是否包含所有点。话说链式前向星的搜索速度比邻接表快好多。好烦,图的连通性要回顾下了(割点,桥,强连通分量)。不过这问题倒也挺典型的。原创 2023-12-16 20:08:52 · 379 阅读 · 0 评论 -
C. Cycle
深度搜索(并传入当前点与上个点的参数),每个走过的位置都打上标记,返回时不用取消,因为必定不可能从该点得到答案了。原创 2023-12-14 16:39:51 · 428 阅读 · 1 评论 -
B. Dominoes
先找一个端点(出度为奇数的点),而当端点不止两个时,输出no solution。否则从端点出发走过所有能走的边并记录。最后判断下是否走完输出答案。原创 2023-12-13 16:19:13 · 419 阅读 · 0 评论 -
D. Cycle in Graph
求vector中元素的位置find(vector.begin(),vector.end(),i)-vector.begin()。find(vector.begin(),vector.end(),i)返回的时迭代器的位置而非寻找元素的位置。找长度不小于k的循环体。直接深搜,数组ans记录路径,当搜到之前走时判断循环长度是否达标。原创 2023-12-12 18:18:05 · 315 阅读 · 0 评论 -
F. Graph Without Long Directed Paths
YES时的输出问题,开始时记录u,v。并创建vis记录哪个点入度,那个点出度。输出答案时遍历u输出该点入度还是出度即可。要求每条路径长度都必须小于2,才输出YES。因此保持相连点的入度出度的交替,即当前点只有入度那么下个点就只有出度。链式前向星的edge数组开大小时,要注意边的数量。原创 2023-12-12 15:24:29 · 398 阅读 · 0 评论