弦图笔记

弦图,没有证明。

前置知识:\(\omega(G),\chi(G),\kappa(G),\alpha(G)\)

分别对应:最大团,最小染色,最小团覆盖,最大独立集

\(\omega(G)\le\chi(G),\alpha(G)\le\kappa(G)\)

弦图:一个无向图称为弦图,当且仅当图中任意长度大于 \(3\) 的环都至少有一个弦。

对于弦图 \(G\),有 \(\chi(G)=\omega(G)\)

单纯点:这个点与它的邻居构成一个团。

任何一个弦图都至少有两个单纯点。不是完全图的图至少有一对单纯点满足它们不相邻。

完美消除序列:每次删去一个单纯点,直到删完。

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

求完美消除序列的算法有很多,这里只写一种:MCS 算法。

\(l_i\) 表示第 \(i\) 个点的邻居中有几个已放入完美消除序列,每次找到未放入序列中的 \(l_i\) 最大的点,将它倒序放入序列,并更新 \(l_i\)。使用链表维护 \(l_x=i\)\(x\) 可以做到线性时间复杂度。

判断一个序列在图上是否是完美消除序列,只需看对于 \(v_i\),它之后的与它相邻的点为 \(v_{c_1},v_{c_2},\cdots v_{c_k}\)\(v_{c_1}\) 是否与其它的点都相邻。时间复杂度 \(\mathcal O(n+m)\)

基于上述两个算法,我们可以在线性时间复杂度内解决弦图判定问题。

弦图的色数就是 \(k+1\) 的最大值。

对于一个团,必然只会有一个点在最大独立集中,所以在完美消除序列上贪心选择即可。

弦图属于完美图,也就是说,它的每一个诱导子图 \(H\) 都满足 \(\omega(H)=\chi(H)\)。这是很好理解的,毕竟弦图的诱导子图还是弦图,而弦图自己就满足这个特点。

例题:小朋友 神奇的国度

posted @ 2024-05-30 17:33  yzy4090  阅读(41)  评论(0)    收藏  举报  来源