竞赛图学习笔记
竞赛图学习笔记
好久之前写的 blog 了,修缮下放上来了!
定义
竞赛图即有向完全图。
性质
-
竞赛图缩点后DAG图呈链状,每个点向其后所有点连边
这比较显然。
-
竞赛图中存在一条哈密顿路径
考虑归纳,对于 1,2,3 命题成立。
若结论在 \(n=k-1\) 时成立,考虑加入点 \(k\)。
若新点连向原路径起点,则存在新路径,若原路径终点连向新点,同理。
否则,按顺序考虑新点与原路径点的连边,由于 \(d_1\to k,k\to d_{k-1}\) 故存在 \(d_i\to k,k\to d_{i+1}\)。原命题成立。
-
竞赛图存在一条哈密顿回路当且仅当其强连通
若其存在哈密顿回路显然强连通。
考虑证明强连通竞赛图一定有哈密顿回路并给出一种构造方法。找到一条哈密顿路径 \(s\to e\)。
由于竞赛图强连通,找到路径上第一条 \(t \to s\) 的边,显然存在这样的 \(t\),我们得到了一个 \([s,t]\) 的哈密顿环。
考虑将一个 \([s,t]\) 的哈密顿环扩展到 \([s,x]\) 的哈密顿环。-
若存在 \((x,s)\) ,回路扩展。
-
若存在 \((x,i),i\in [s,t]\) ,回路亦可扩展。
原回路为红色回路,记 \(i\) 在回路中的前驱为 \(pre_i\),扩展一条新回路(蓝路径+绿路径)。
考虑 \(t\) 之后的点由于条件限制所有原哈密顿环上的点均可一步到达。 -
否则,暂时不扩展(这代表 \(\forall i\in[s,t]\),有 \(i\to x\),由于图强连通,链之后不能全是这样的点)。
\(e\) 点一定能扩展(图强连通)。
故得到了一个哈密顿回路。
-
-
大小为 \(n\) 的强连通竞赛图存在大小为 \([3,n]\) 的环
运用归纳,通过性质 3 可证。
-
判断竞赛图强连通的高效方法
将顶点出度序列升序排列,竞赛图强连通等价于不存在 \(k<n\) 满足前 \(k\) 个出度之和等于 \(\dbinom k 2\)。
判断时间复杂度 \(O(n\log n)\),朴素 tarjan \(O(n^2)\)。考虑若竞赛图非强连通,则存在不止一个 SCC,由性质1,出度序列升序排列后,链后点一定在链前点之前,我们只需判断最后一个 SCC 大小即可。
容易发现该做法的正确性。