
有向图的强连通分量
文章平均质量分 52
北岭山脚鼠鼠
21岁,是大学生
展开
-
有向图的强连通分量——银河(差分约束和强连通分量两种做法)
使用tarjan算法来进行的建造强连通分量,在每一个强连通分量当中,都必定存在环,如果有某一条边的权值是大于0的,那么一定会存在正环,等同于x1>=x2>=x3>=x1+c,这种就是无解的情况。当x==1时,关系为 :a>=b && b>=a,所以add(a,b,0),add(b,a,0)两条边;当x==2时 ,为 b>=a+1,add(a,b,1)当x==4时,为a>=b+1,add(b,a,1)当x==5时,为b>=a, add(a,b,0)当x==3时,为a>=b ,add(b,a,0)原创 2022-10-01 09:57:04 · 525 阅读 · 0 评论 -
有向图的强连通分量——最大半连通子图
图上的每一个节点都是一个强连通分量,里面的点都满足半连通,设每一个点上的权值就是里面的点的数量,要找到最大的半连通子图就是要找到拓扑图上权值和最大的一条无分叉的路径,也就是一条拓扑链。为了找到权值和最大的点,原本应该从每一个起点(入度为0的点)出发做一遍最长路,但因为这个图是拓扑图,可以采用递推的方式来求每一个节点来自不同方向入度的最大权值和再加上自身的权值。但是因为是用原本的边进行拓扑图的连边,有可能出现两个强连通分量由相同的边进行反复相连,这里会影响到第二问里面的求方案数,所以连边的时候要进行判重。原创 2022-10-01 08:53:46 · 726 阅读 · 0 评论 -
有向图的强连通分量——学校网络
根据题目建好有向图后走一遍tarjan算法获得强连通分量,记录每一个点的入度和出度,一个点在得到的强连通分量图里面是起点的话入度会是0,是终点的话出度会是0.对于第一个问题,需要至少直接提供给多少个学校,就是提供给拓扑图中的所有起点的强连通分量,起点的数量就是第一问的答案。第二问答案的结论是设拓扑图里面的起点数量为a,终点的数量为b,答案是max(a,b).第一问的证明很好想,第二问证明?原创 2022-09-30 21:48:47 · 497 阅读 · 0 评论 -
有向图的强连通分量——受欢迎的牛(模板题)
对于由强连通分量编号形成的拓扑图中,如果有答案的话,那么就一定会有一个点的出度为零,如果有两个点的出度为0的话,因为拓扑图的性质,从其中一个点是无论如何也走不到另一个节点的,所以答案为0.答案不为0则答案就是出度为0的编号的强连通分量里面包含的所有点。思路:一个很基本的思路就是,看一个点是否从所有点都能走到它,建立一个反向图,从每一个节点出发做一遍spfa,如果能到达其他的所有节点,说明该节点符合要求。因为强连通分量里面的所有点都是可以互相到达的,而其他分量外的所有点都可以到达这个强连通分量。原创 2022-09-30 20:21:26 · 143 阅读 · 0 评论 -
缩点和Tarjan求强连通分量模板(scc)
没有简介原创 2022-09-30 19:26:03 · 537 阅读 · 0 评论