弦图 学习笔记
弦图 学习笔记
定义
弦图中任意
单纯点
单纯点的邻域是团。
完美消除序列(aka peo)
点的排列,使得
点割集
性质
- 弦图的诱导子图是弦图(Lemma 1)。
- 弦图中
的极小点割集 是团(Lemma 2)。
证明:
设删去点割集之后
所在连通块是 。 观察:点割集中任意点与
有连边(否则可以删去此点)。 对于点割集中任意两点
,存在 且与 相邻,同理 。 则找到
的最短路,此时形成环,若 无边则不是弦图,得证。
- 弦图有至少一个单纯点,且非完全图有至少 2 个不相邻单纯点(Lemma 3)。
证明:
归纳。
任取不相邻
,由于对称,证明 有一个单纯点即可。 如果
是团,显然成立,否则根据归纳假设, 中有二不相邻单纯点,其中必有一个在 中,证毕。
- 图
是弦图当且仅当 拥有完美消除序列。
证明:必要性显然。
充分性:根据 Lemma 1,3,不断选取弦图中的单纯点即可。
求完美消除序列
- LEX-BFS 算法
从后往前确定 peo,先随便选一个点作为 BFS 起点,然后每次选取一个点,使得它邻域中已确定 peo 的点的 peo 字典序最大。
需要用点集分裂的思想,维护链表套链表,可以做到
正确性证明:
如果对于
的邻点 他们的 peo 在 后面,假设 无边。 则一定存在
使得与 相邻而不与 相邻,此时 无边否则非弦图,则可以如此构造下去,peo是无限序列,假设不成立,得证。
- MCS 算法
每次选取邻域被确定点最多的点。
可以简单地用优先队列带个 log 或用桶做到线性。
判定弦图
定义
求出完美消除序列,从后往前类似归纳地每次对于一个点
NP-Hard 问题在弦图上的解决
- 最大团,
- 色数,
- 最大独立集,
- 最小团覆盖,
。
在弦图中这些不等式都取等号。
- 色数
从后往前对peo贪心,每点颜色取邻域色
- 最大独立集
从前往后对peo贪心,每次给邻域打标记。
- 求所有极大团
观察:极大团是
则考虑标记非极大团。
对于
等价于
等价于
根据以上引理可以得到求出所有极大团的线性算法,即从前往后扫,打标记。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
2022-07-24 高斯消元解线性方程组
2022-07-24 线性同余方程
2022-07-24 扩展欧几里得算法exgcd基本运用 与 exgcd求逆元
2022-07-24 快速幂求逆元
2022-07-24 快速幂
2022-07-24 筛法求欧拉函数之和
2022-07-24 欧拉函数