首页 > 其他分享 >竞赛图

竞赛图

时间:2023-01-06 16:00:52浏览次数:36  
标签:度数 连通 竞赛 哈密顿 回路 分量

竞赛图,是每两个点之间都有一条有向边的图。因为有一种模型是两者之间比赛谁能赢,赢的人对输的人连一条边,因此叫做竞赛图。

竞赛图的性质:

  1. 对 SCC 缩点之后是一条链式结构,类似下图。对图拓扑排序之后,标号靠前的点都会向标号靠后的点连一条边。这条边的意义是,两个连通分量中分别任意挑出一个点,其间连边方向都和这条边相同。
    image

1.1. 对度数排序之后,任意一个连通分量都对应一段连续的点

我们拿任意一个连通分量举例。假设连通分量内有 \(k\) 个点,拓扑序比它靠前的点有 \(n\) 个,拓扑序比它靠后的点有 \(m\) 个。那么这个连通分量内任意一个点向连通分量外连边的数量都为 \(m\)。考虑连通分量内互相连的点。由于在连通分量内,不会有一个点对其他点的连边都是同一个方向的(除非这个连通分量只有一个点,那样也容易证明是正确的)所以显然成立。

1.2. 我们可以对度数排序后的点分段得到每个连通分量包含的点,具体而言,假设当前还有 \(n\) 个点没有分到连通分量。我们从度数最大的点开始,进行扫描,然后如果扫到第 \(k\) 个点的时候发现度数和为 \(k(n-k)+\cfrac{k(k-1)}{2}\),那么已经扫描到的点属于同一个连通分量,之后的点都不属于这个连通分量。

因为向外连边的条数是固定的 \(k(n-k)\),那么只需要考虑向内连边的个数,而这个个数也是确定的。容易证明这是充要条件。

CF1779E

给定一个竞赛图,\(n - 1\) 次询问 \(i\) 对集合 \(s\) 出边条数,求出第一个连通分量。

直接询问每个点的度数即可。

  1. 任意一个 \(n\) 阶竞赛图都包含长度为 \(\forall i \le [1, n]\) 的哈密顿回路。

这里注意哈密顿回路和欧拉回路的区别。
哈密顿回路是经过每个点各一次,然后回到起点,只有起点可以到两次。哈密顿回路减去最后回到起点那条路就是哈密顿路,因此有哈密顿回路一定有哈密顿路。这个问题只有指数解法。上次 \(2 \times n\) 的网格图上那道题就是这个模型。
欧拉回路是经过每条边各一次,然后回到起点。这个问题加上“回路”更自然,并且含有充要条件,可以 DFS 求(那个名字很长的算法)。

标签:度数,连通,竞赛,哈密顿,回路,分量
From: https://www.cnblogs.com/Zeardoe/p/17030618.html

相关文章