2024-8-15 算法学习
P2341 [USACO03FALL / HAOI2006] 受欢迎的牛 G
题意:给定一个有向图,求有几个点能够被所有的点到达。
设所有能到达某个点的点作为该点的点集,那么所有点集相同的点都在一个强连通分量里,该题求的点的点集是所有的点,每个要求的点都在一个分量里,而且该分量的出度一定为0,不然就不是所有的点集
** P2764 最小路径覆盖问题**
题意:给定一个有向图,每次选中一条简单路覆盖这个图,求最少几个路就能覆盖它
一开始每个点都是一个图,考虑怎么去合并它,如果每一个点只有一条边连接它就可以用匈牙利算法,所以把每个点拆成两份,每连接图上的两个路,就相当于连接一个入点和一个出点,只要尽量连最多的边,就是答案
P2939 [USACO09FEB] Revamping Trails G
题意:给定一个有权图,每次可以将几个路径的权变成0。
分层图
P7251 [JSOI2014] 强连通图
题意:给定有向图,最少增加多少条边,可以使得这个图变成强连通图
如果一个图中每个点的出度,入读都不为0 那么这个图就是一个强连通的,想象有个人在图上不断移动,它可以永远动下去,说明图中存在强连通分量,把这个分量变为一个点,任然每个点的出度,入读都不为0,最后总能缩成一个点
图中有n个点入度为0,m各点出度为0,把他们连完就行了,答案是max(n,m)