图的存储与遍历

本文探讨了图的存储与遍历在信息传递和路径点和问题中的应用,涉及模板基环树的最小环求解以及拓扑排序。题目P2661和P2921USACO08DEC分别展示了next数组建图方法和点到环路径点和的计算。最小环问题可以采用模拟、tarjan缩点、并查集等解法,而拓扑排序则通过dfs避免重复遍历。关键词包括图论、最小环、拓扑排序、点遍历、路径点和。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

能力提升综合题单:图论

图的存储与遍历

这两题属于非常相近的题,都是仅使用一个next数组记录某个点的下一个相连的点是哪个的点的建图方式。第一题引入了一个模板基环树(每个点出度均是1的有向图)求最小环。第二题是求每个点遍历到每个环,求路径点和的问题。

两道题都有很多解法,求最小环有模拟,tarjan缩点,并查集的解法。暂时只写了y总的栈模拟解法。

第二题是直接使用了题解给的一种纯思维的解法,很朦胧,我感觉我对点数量和边数量这种数量关系不是很敏感,也不清楚为什么需要存那些信息。先记录到这里。


GG的了,咋发现对于一个普通图,如果用:

void dfs(int u,int fa){
	// 
}

会重复遍历,必须用 v i s [   ] vis[\ ] vis[ ] 数组。
d f s dfs dfs 求拓扑序的方法。遍历一个图,在回溯的时候将节点加入到 a n s ans ans 数组中。数组的逆序就是一个拓扑序。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值