7.1 闲话-Erdős–Gallai 定理和哈基米算法

Erdős–Gallai 定理

前几天考试有一个建出最大流模型,转为最小割,然后模拟最小割的套路。

这一个套路并不是少见的。在 Gale-Ryser 定理和 Erdős–Gallai 定理的证明都体现了这个想法。

Gale-Ryser 定理:我先阅读了博文的 ycx060617 的评论的对 Gale-Ryser 定理的证明,略去。

Erdős–Gallai 定理:非增序列 \(d_i\) 可能作为简单图的度数序列的充分必要条件是

\[\displaystyle \sum _{i=1}^{k}d_{i}\leq k(k-1)+\sum _{i=k+1}^{n}\min(d_{i},k),\forall k\\ 2\mid\sum d_i \]

建出网络流图:\(S\) 向点 \(x_{1:n}\) 连边权值为 \(d_{1:n}\)\(y_{1:n}\)\(T\) 连边权值为 \(d_{1:n}\)\(x_i,y_j\) 连权值为 \(1\) 的边当 \(i \neq j\)

有解当且仅当最大流为 \(\sum d_i\),且中间边的有流边是配对的。

首先证明,不考虑配对条件,最小割是 \(\sum d_i\) 的充分条件确实是上面所述(枚举左边选了那些点,考虑右边选点个数即可);

然后需要证明:如果存在中间点的(符合条件)最大流方案,则存在满足配对条件且流量不变最大流方案。

首先去除已配对边和零度点。只需证明每个局面 \(P\) 都存在一个至少获得一个新配对边的方案。

注意一个基本的事实:如果 \((a,b),(x,y)\) 配对,那么 \((a,y),(b,x)\) 配对。

找到一条存在边 \(E_1\) 和他的对称边 \(E_2(a,b)\),如果 \(\exists (u,a),(v,b)\in P,(u,v)\not\in P\),就胜利了。

否则一直不满足这个条件,不能无穷继续,则一定会连出一个环状的关系。这个时候最后一对边改成 \((a,y),(b,x)\) 的形状,逐个向前调整(这是因为 \(2\mid \sum d_i\)),证毕。

哈基米算法

定理:设 \(f(d)\) 为一个度数序列的合法性,则设 \(d'\) 为把 \(d_1\) 清零,\(d_{2:d_1+1}\) 减一的序列,则 \(f(d)=f(d')\)

应该是分讨一下就可以了(但是分讨有点过于麻烦了,,)

然后直接按照这个定理的过程做判定即可。出现负数直接寄,最后全零就是赢。

posted @ 2024-07-01 21:39  British_Union  阅读(30)  评论(3编辑  收藏  举报