OSDN Git Service

add 二分图染色的构造性证明
authorzhouyuyang2002 <54274322+zhouyuyang2002@users.noreply.github.com>
Thu, 22 Aug 2019 12:09:24 +0000 (20:09 +0800)
committerGitHub <noreply@github.com>
Thu, 22 Aug 2019 12:09:24 +0000 (20:09 +0800)
docs/graph/color.md

index 4221e28..51d3600 100644 (file)
 
 若 $n$ 为奇数( $n \neq 1$ )时, $\chi'(K_n)=n$ ,当 $n$ 为偶数时, $\chi'(K_n)=n-1$ 
 
+### 二分图 Vizing 定理的构造性证明
+
+按照顺序在二分图中加边。
+
+我们在尝试加入边 (x,y) 的时候,我们尝试寻找对于 x,y 编号最小的尚未被使用过的颜色,假设分别为 lx,ly 。
+
+如果 lx=ly 此时我们可以直接将这条边的颜色设置为 lx 。
+
+否则假设 lx<ly ,我们可以尝试将节点 y 连出去的颜色为 lx 的边的颜色修改为 ly 。
+
+修改的过程可以被近似的看成是一条从 y 出发,依次经过颜色为 lx,ly,$\cdots$ 的边的有限唯一增广路。
+
+因为增广路有限所以我们可以将增广路上所有的边反色,即原来颜色为 lx 的修改为 ly ,原来颜色为 ly 的修改为 lx 。
+
+根据二分图的性质,节点 x 不可能为增广路节点,否则与最小未使用颜色为 lx 矛盾。
+
+所以我们可以在增广之后直接将连接 x,y 的边的颜色设为 lx 。
+
+总构造时间复杂度为 $O(nm)$ 。
+
+!!! note "一道很不简单的例题[uoj 444 二分图](https://uoj.ac/problem/444)"
+    本题为笔者于 2018 年命制的集训队第一轮作业题。
+
+    首先我们可以发现答案下界为度数不为k倍数的点的个数。
+
+    下界的构造方法可以对二分图进行拆点。
+
+    对于一个度数为 degree 的节点,我们将其拆为 $degree/k$ 个度数为 k 的节点和一个度数为 $degree \bmod k$ 的节点(若度数不为0)
+
+    根据 Vizing 定理,我们显然可以构造出该图的一种 k 染色方案。
+
+    删边部分由于和 Vizing 定理关系不大这里不再展开。
+
+    有兴趣的读者可以自行阅读笔者当时写的题解。
+
 ## 色多项式
 
  $f(G,k)$ 表示 $G$ 的不同 $k$ 着色方式的总数。
@@ -30,7 +65,7 @@
 
  $f(N_n, k) = k^n$ 
 
-在无向环图 $G$ 中,
+在无向环图 $G$ 中,
 
 1.   $e=(v_i, v_j) \notin E(G)$ ,则 $f(G, k) = f(G \cup (v_i, v_j), k)+f(G\backslash(v_i, v_j), k)$ 
 2.   $e=(v_i, v_j) \in E(G)$ ,则 $f(G,k)=f(G-e,k)-f(G\backslash e,k)$