弦图与区间图
弦图 - OI Wiki 这部分 OI-Wiki 上写的很好,证明也很妙。
弦图
弦:指一个大于 个点的环中,连接不相邻的两个点的边。非常形象。
弦图:指图中任意环均有弦。显然弦图的点导出子图也是弦图。
团:一个诱导子图满足对于子图内的点是完全图。非常形象。
单纯点:设 表示 的邻域,一个点称为单纯点当且仅当 的导出子图为一个团。
引理:任何一个弦图都至少有一个单纯点,不是完全图的弦图至少有两个不相邻的单纯点。
完美消除序列:一个点的序列 满足 在 的导出子图中为一个单纯点。
定理:一个无向图是弦图当且仅当它有一个完美消除序列。
记
为最大团的点集大小,称为团数。
为最小染色的色数,称为色数。
为最大独立集的大小。
为最小团覆盖的团的数量。
,因为最大团中颜色必须互不相同。
,因为每个团中最多取一个点。
弦图的判定
MCS 算法
最大势算法 ,可以在 的时间内求出无向图的完美消除序列。
逆序从 到 把节点编号,编号为 的点出现在完美消除序列的第 个。
设 表示 与多少个已经标号的点相邻,每次选择 最大的未标号节点进行标号。
实现可以用链表维护对于每个 ,满足 的 。
每条边对 的贡献最多是 ,时间复杂度为 。
非弦图时要判断每个点是否与后面相邻的点构成团,设 是 连向后面的点。继承后面点的判断后,算法只需判断 是否与其他 都相连即可。时间复杂度 。
于是我们可以在 的时间复杂度内判断图是否是弦图并求出它的完美消除序列。
证明
只需证明求得序列中任意一点的后面与它相连的点两两相连。
设 为 在序列中的位置。
引理一:考虑三个点 且 ,如果 相连, 不相连,则 只给 的 贡献。为了让 比 先入序列,需要一个 满足 且 相连, 不相连。
引理二:任意一个弦图一定不存在一个序列 满足下列性质
- 相连当且仅当 。
- 。
- 存在 ,满足 且 。
证明引理:
由于 ,且 相连, 不相连,所以由引理一,存在 满足 且 相连, 不相连。
考虑最小的 满足 相连,那么 不相连,否则 构成长度大于 且无弦的环。
如果 ,则 是满足性质的序列;如果 则 是满足性质的序列。
在上面的推导中,我们扩大了 ,于是一直推下去,一定在第一步找不到 ,产生矛盾。
证明原命题:
考虑三个点 且 ,我们需要证明若 相连, 相连,则 一定相连。
反证,假设不相连,那么 就满足引理二中的性质,所以矛盾。
弦图的极大团
设 在弦图的完美消除序列中第 个。令 。
定理:弦图的极大团一定是 的形式。
证明:设 为极大团 中 最小的点,那么 ,又 极大,得证。
推论:弦图最多有 个极大团。
要求出最多 个极大团,可以判断每个 是否是极大团。
设 ,若 ,则 不是极大团。此时显然 。
那么设 表示 中最靠前的点, 表示所有满足 的 中最靠后的点。此时必有 ,否则 不是最靠后的,令 仍满足。
当且仅当 。
判断不是极大团转化为判断是否存在 ,满足 且 ,时间复杂度 。实现参考 OI-Wiki。
弦图的团数或色数
团数 ,最大团的点集大小。
色数 ,相邻点不同色的最小颜色数。
定理:。
一种构造方式:按完美消除序列从后往前依次给每个点染色,给每个点染上可以染的最小颜色,因为一个点只需要考虑在它后面的相连点的颜色。
设染色共用 种,那么该过程中 而 ,又因为每个团内点颜色互不相同所以 所以 。
弦图的最大独立集或最小团覆盖
最大独立集 ,选出两两不相邻的点的最大点集。
最小团覆盖 ,用团覆盖整张图的最小团数。
定理:。
构造最大独立集的方式:完美消除序列从前往后能选就选。
设最大独立集为 ,则团的集合 是图的最小团覆盖。
因为若没有覆盖完那么剩下的点是独立点,与最大独立集矛盾。
而 ,又因为每个团里都能选一个所以 ,所以 。
完美图
完美图:一个图 的每一个诱导子图(点导出子图)都满足 。
伴完美图:一个图 的每一个诱导子图(点导出子图)都满足 。
完美图等价于伴完美图。
弦图属于完美图。
区间图
给定一些区间,定义一个相交图为每个顶点表示一个区间,两个点有边当且仅当两个区间的交集非空。
一个点为区间图当且仅当它是若干个区间图的相交图。
性质
区间图一定是弦图,显然不存在长度大于 的无弦环。于是区间图具有弦图的一切性质。
区间图的一个完美消除序列是将所有区间按照右端点从小到大排序。显然右边所有与当前区间有交的区间之间都相交。
应用
-
给定 个区间,要求选择最多区间而不互相重叠。
- 区间图的最大独立集。
-
有 个高为 ,宽为 的积木,求一个下落顺序使最后积木总高度最小。
- 把一层积木看成一个颜色,转化为区间图的色数问题。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
2021-10-11 [HNOI2013]游走
2021-10-11 21.10.9 test