弦图及区间图学习笔记

弦图学习笔记

参考: WC2009讲稿

定义及性质:

不存在 \(\geq 4\) 的简单环的图,即对于图中每一个 \(\geq 4\) 的环,都存在至少一条连接环不相邻节点的边。

弦图的每一个导出子图都是弦图,其任意一个导出子图不同构与 \(\geq 4\) 的简单环。

单纯点:

\(N(v)\)\(v\) 的相邻点集,\(v\) 为单纯点当且仅当 \(v + N(v)\) 的导出子图为一个团。

引理 :任何一个弦图都有至少一个单纯点,不同于完全图的弦图至少有两个相邻的单纯点。

完美消除序列:

对于一个点的排列 \(p_i\) ,满足 \(\forall p_i\)\(\{v_i,v_{i+1}..v_n\}\) 的导出子图中是一个单纯点。

求法: 最大势算法可以在 \(\mathcal O(n+m)\) 的复杂度内求出一个消除序列的反序。一开始设所有点的权值为 \(0\) ,每次随便取出一个权值最大的点加入序列,并把其相邻的点权值 \(+1\)

判定:对于每一个点 \(v\) ,设 \(N(v)\) 在其序列位置之后的点集为 \(N'(v)\) ,检查 \(N'(v)\) 中第一个点是否与其它点有连边即可。

弦图的判定定理:

一个无向图是弦图当且仅当它有一个完美消除序列。

充分性: 引理可以得知一个弦图至少有一个单纯点,删去这个单纯点后仍然是一个弦图,可以数学归纳证明。

必要性:若无向图中存在一个 \(k \geq 4\) 的无弦环,若存在完美消除序列,取出这个环在消除序列中最前面的点,此时消除序列说其导出子图是团,与无弦环矛盾。

弦图的判定:

用最大势算法求出一个可能的完美消除序列, \(\mathcal O(n + m)\) 判断这个完美消除序列是否合法即可。

弦图的极大团:

弦图的极大团一定是 \(v \cup N'(v)\) 的形式,设 \(next(v)\)\(N'(v)\) 中出现最前的点,若存在一个 \(u\) ,满足

\[next(u)=v,|N'(v)|+1\leq |N'(u)| \]

那么意味着 \(v\cup N'(v)\sub u \cup N'(u)\) ,此时 \(v \cup N'(v)\) 不是极大团,那么只需要判断是否存在一个这样的 \(u\) 即可,可以 \(\mathcal O(n+m)\) 计算。

弦图的点染色问题:

最小点染色:每次贪心的在完美消除序列上染色, 给当前点染一个可以染的最小的颜色,即是弦图的最小染色数。假设使用了 \(T\) 种颜色,\(T=\) 最大团点数,又因为最大团点数 \(\leq\) 色数,所以这样求出的 \(T\) 是最小的染色数。

k-染色方案数计数\(=\prod_{i=1}^n k-N'(p_i)+1\),因为 \(\forall v\cup N'(v)\) 都是其所在完美消除序列后缀的极大团, \(v\) 颜色不能与 \(N'(v)\) 中任意一个相同。

弦图的最大点独立集:

在完美消除序列上从前往后选取,能选就选。假设选出了 \(x\) 个点,那么这 \(x\) 个点一定是一个最小团覆盖,又因为最小团覆盖 $\geq $ 最大独立集,所以求出来的点集是最大点独立集。

区间图:

区间图是弦图,区间图的一个完美消除序列是按照右端点排序,然后就可以用数据结构维护许多东西了,证明先咕咕了。

posted @ 2019-10-06 18:22  Joyemang33  阅读(605)  评论(0编辑  收藏  举报