Loading

尽管如此,弦图依旧强大

一些定义

最小染色:用最少的颜色给点染色使得所有边连接的两点颜色不同。

色数:最小染色的颜色数。

团数:最大团的点数。

弦:连接环中不相邻两点的边。

弦图:任意长度大于 \(3\) 的环都有一个弦的图称为弦图。

点割集:对于图 \(G\) 上的两点 \(u,v\),定义这两点间的点割集为满足删除这一集合后,\(u,v\) 两点之间不连通。

单纯点:若点 \(x\) 与他的所有相邻点的导出子图是一个团,则这个点是单纯点。

完美消除序列:令 \(n=|V|\),完美消除序列 \(v_1,v_2,\cdots ,v_n\)\(1,2,\cdots ,n\) 的一个排列,满足 \(v_i\)\(\{v_i,v_{i+1},\cdots ,v_n\}\) 的导出子图中为单纯点。

一些性质

性质一

团数 \(\le\) 色数。

证明:
直接对最大团染不同颜色即可。

推论一

在弦图中:团数 \(=\) 色数。

性质二

最大独立集数 \(\le\) 最小团覆盖数。

证明:
每个团中至多选择一个点。

推论二

在弦图中:最大独立集数 \(=\) 最小团覆盖数。

性质三

弦图的任意导出子图一定是弦图。

证明:
如果弦图有导出子图不是弦图,说明在这个导出子图上存在大于 \(3\) 的无弦环,那么原图也不是弦图,矛盾。

性质四

任何一个弦图都至少有一个单纯点,不是完全图的弦图至少有两个不相邻的单纯点。

性质五

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

求法

求出无向图的完美消除序列

最大势算法(MCS)是一种可以在 \(O(n+m)\) 的时间复杂度内求出无向图的完美消除序列的方法。

思路

逆序给结点编号,即按从 \(n\)\(1\) 的顺序给点标号。

\(label_x\) 表示第 \(x\) 个点与多少个已经标号的点相邻。

每次选择 \(label\) 值最大的未标号结点进行标号即可。

时间复杂度:\(O(n+m)\)

Code

inline void mcs() {
  fro(i, 1, n) to[0].push_back(i);
  int sum = 0;
  pre(pos, n, 1) {
    int x = 0, y;
    while (!x) {
      while (to[sum].empty() == 0 && !x) {
        y = to[sum].back();
        if (!rk[y] && lb[y] == sum) x = y;
        to[sum].pop_back();
      }
      if(!x) sum--;
    }
    rk[x] = pos, id[pos] = x;
    for (int i = head[x]; i; i = e[i].nxt)
        lb[e[i].to]++, to[lb[e[i].to]].push_back(e[i].to), sum = max(sum, lb[e[i].to]);
  }
}

此算法可以证明,若无向图为弦图,则求出的序列一定是完美消除序列。

同样,若求出的序列为完美消除序列,则无向图一定是弦图。

判断一个序列是否是完美消除序列

根据完美消除序列的定义,设 \(v_i 在 {v_i,v_{i+1},\ldots , v_n}\) 中相邻的点从小到大为 \(\{v_{c_1},v_{c_2},\ldots ,v_{c_k} \}\)

则只需判断 \(v_{c_1}\) 与其他点是否直接连通即可。

时间复杂度 \(O(n+m)\)

挑战 NPC

各种不可做的图论问题在弦图上通通可以线性计算。

弦图实在是太厉害了。

求极大团

\(N(x)\) 为满足与 \(x\) 相邻且在完美消除序列上的 \(x\) 之后的点集。

则弦图的极大团只有可能为为 \(\{x\}+N(x)\)

求最大团

将所有的极大团取最大值即可。

也就是:\(\max_{i=1}^n lable_i+1\)

求色数

由于色数 \(=\) 团数,所以可以直接求最大团得到色数。

若需要方案。

可以在完美消除序列上从后往前染色,每个点染能染的最小颜色即可。

求最大独立集

完美消除序列从前往后,选择所有没有与已经选择的点有直接连边的点。

求最小团覆盖

设最大独立集为 \(\{v_1,v_2,\ldots ,v_t\}\),则团的集合 \(\{\{v_1+N(v_1)\},\{v_2+N(v_2)\},\ldots ,\{v_t+N(v_t)\} \}\) 为图的最小团覆盖。

posted @ 2024-06-29 22:37  JiaY19  阅读(4)  评论(0编辑  收藏  举报