竞赛图小记
定义
竞赛图是指一类对于任意两个点之间有且只有一条有向边的有向图,下面记
性质
-
竞赛图缩点后是链状结构
考虑按照tarjan算法缩点后,对于
,必有边 ,这是因为 tarjan 算法的编号是逆拓扑序。那么容易得到对于任意强连通分量
,若 必有 ,所以竞赛图缩点后是一个链状结构(而且也是竞赛图) -
推论:
哈密顿路
- 任意竞赛图存在哈密顿路径
- 任意强连通竞赛图存在哈密顿回路
哈密顿路径(Redei 定理)
考虑递推构造,
现在我们考虑由
设当前有一条哈密顿路径
- 若
,则令 - 若
,则令新的路是 - 如果上面的条件都不满足,则必然存在最小的
满足 (假设不存在则满足条件一),则也存在 ,将 插入 之间即可。
可以
哈密顿回路(Camion-Moon 定理)
强连通竞赛图具有哈密顿回路
考虑递推构造。
先找到一条哈密顿路径并且重标号节点为
设当前加入了前
满足
我们考虑逐个加入点消去这个链将其合并为环。
当
-
若
,则加入链 -
如果不满足条件
,则必然有 。则有
,也就是说存在一个 可以加入原本的环里。另外,当
时显然合法,当 时,由于前面是一个环,具有轮换性质,所以必然 可以取到 (是环上的前一个位置)
由于原图是强连通的,所以最后一定会成环(否则与强连通矛盾)。
实现精细有
推论
强连通竞赛图是泛圈的。
泛圈:指对于
阶有向图 ,若 ,存在 元环,则称图 是泛圈的。
考虑
我们只需要证明
考虑只需要证明存在一个点,删掉它后原图仍然强连通。
假设求出哈密顿回路
假设我们删去
-
如果有一个大小不小于
的强连通分量,则在这个强连通分量里面删去一个点(还是一个竞赛图,还能够拿出哈密顿路)再加入 )就可以拿出一个 大小的环了。也可以从 竞赛图强连通缩点后是链状结构 理解
-
否则说明每个强连通分量大小是
,而加入 后强连通,说明存在环 ,此时我们删去 即可,必然有 。
出度序列
定义一个竞赛图的出度序列是把所有点的出度从小到大排序后得到的序列。
合法出度序列
给出非负整数不严格递增序列
则存在一个竞赛图使得
必要性:
考虑前
个点的导出子图就有 条边,显然不能够小于这个数。
充分性:
考虑一个取到下界的出度序列
,满足 ,也就是 那么当
时,必然存在最小的 满足 ,且存在一个最大的 满足 ,因为总和相同。 则有
,也就是 。
若
(此处指 的边集),则反转 ,这会导致 。 否则必然存在
满足 假设不存在
,那么对于所有 , 至少成立一个 初始化
的话,每次扫描 都会使得如果 减小那么 会减小 所以可以说明最终至少有
,与 矛盾。 将
反转,则 出度不变,还是有 。 由此我们可以
地去调整。 一个错误的想法是拿出所有的
一次性处理掉。 但事实上你用完所有的
也不一定让 合法,没有任何意义
强连通分量
先给结论,竞赛图强连通分量个数为
证明:
-
先证强连通分量个数不大于这个值。
首先,根据强连通分量缩点后形成一条链,则对于
而言, 的所有强连通分量里的点, 都直接指向,而对于 的 而言, 直接指向 强连通分量里面的点,而且编号更小的强连通分量里的点指不到,所以有那么对于一个强连通分量一定会有这种形式。所以强连通分量个数不大于这个值。
-
再证这个值不大于强连通分量个数。
因为对于一个
, ,则 的点都会向 连边,则 一定唯一对应两个相邻强连通分量分界点,所以不大于。
综上可得。
竞赛图最小割
求解
最开始我们令一个割为
考虑将一个
将除了
枚举决策即可。取前缀
然后有一个初始值
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!