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')\)。

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

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

7.1 闲话-Erdős–Gallai 定理和哈基米算法的更多相关文章

  1. Codeforces 1091E New Year and the Acquaintance Estimation Erdős–Gallai定理

    题目链接:E - New Year and the Acquaintance Estimation 题解参考: Havel–Hakimi algorithm 和 Erdős–Gallai theore ...

  2. POJ1659 Frogs' Neighborhood(Havel–Hakimi定理)

    题意 题目链接 \(T\)组数据,给出\(n\)个点的度数,问是否可以构造出一个简单图 Sol Havel–Hakimi定理: 给定一串有限多个非负整数组成的序列,是否存在一个简单图使得其度数列恰为这 ...

  3. may be a diary?

    [About Me] SD某弱校高二的OIer. qq 995681518,欢迎一起交流~ 喵喵喵喵喵 "当你想要颓废的那一刻,想一想当初为什么走到了这里." 以下文字充满负面情绪 ...

  4. CF1091E New Year and the Acquaintance Estimation

    题目地址:CF1091E New Year and the Acquaintance Estimation 首先,易知 \(ans\) 的奇偶性与所有给出的数的和的奇偶性相同 其次,易证 \(ans\ ...

  5. Codeforces 1091E New Year and the Acquaintance Estimation [图论]

    洛谷 Codeforces 思路 有一个定理:Erdős–Gallai定理. 然后观察样例,可以猜到答案必定是奇偶性相同的一段区间,那么二分左右端点即可. 定理和这个猜测暂时都懒得学/证,留坑. #i ...

  6. Good Bye 2018 (A~F, H)

    目录 Codeforces 1091 A.New Year and the Christmas Ornament B.New Year and the Treasure Geolocation C.N ...

  7. 【群论】polya定理

    对Polya定理的个人认识     我们先来看一道经典题目:     He's Circles(SGU 294)         有一个长度为N的环,上面写着“X”和“E”,问本质不同的环有多少个(不 ...

  8. CF 1091E New Year and the Factorisation Collaboration

    昨晚Good Bye 2018D题没做出来,车翻大了…… 官方题解      传送门 初赛知识:一个无向图所有顶点度数之和为偶数.然而这东西还有一个高端的名字:Handshaking lemma 但是 ...

  9. Miller Rabin 算法简介

    0.1 一些闲话 最近一次更新是在2019年11月12日.之前的文章有很多问题:当我把我的代码交到LOJ上,发现只有60多分.我调了一个晚上,尝试用{2, 3, 5, 7, 11, 13, 17, 1 ...

  10. Codeforces Round #382 Div. 2【数论】

    C. Tennis Championship(递推,斐波那契) 题意:n个人比赛,淘汰制,要求进行比赛双方的胜场数之差小于等于1.问冠军最多能打多少场比赛.题解:因为n太大,感觉是个构造.写写小数据, ...

随机推荐

  1. 修复Bug好比钓鱼

    作者: Jim Bird  来源: CSDN  发布时间: 2012-09-13 10:43  阅读: 4224 次  推荐: 18   原文链接   [收藏]   英文原文:Fixing a Bug ...

  2. Java之基础语法

    最近发现公司中老的项目有些是基于Java开发的, 为了更好的后期维护 不得而要好好了解一下java, 之前一直比较抵触这门语言,现在随着了解的语言(PHP,Python,golang,shell,no ...

  3. solon 集成 rocketmq5 sdk

    使用 rocketmq5 是比较简单的事情.也有些同学对 sdk 原始接口会陌生,会希望有个集成的示例. <dependency> <groupId>org.apache.ro ...

  4. 华为云云日志服务 HarmonyOS NEXT采集最佳实践

    鸿蒙背景介绍 华为鸿蒙HarmonyOS系统是面向万物互联的全场景分布式操作系统,支持手机.平板.智能穿戴.智慧屏等多种终端设备运行,提供应用开发.设备开发的一站式服务的平台.2024 年 1 月 1 ...

  5. RocksDB 内存超限问题剖析

    作者:来自 vivo 互联网服务器团队- Zeng Luobin 在使用 RocksDB 存储引擎的过程中,有部分开发者遇到了内存使用超出预期的情况.本文针对这一问题展开了深入分析,从内存使用原理.R ...

  6. uniapp多次触发跳转问题

    问题描述:快速点击跳转页面后会闪退到登陆页面 解决方案:重新封装uniapp跳转api,加防抖锁,To.ts import { NavigateToOptions, RedirectToOptions ...

  7. OpenTelemetry.NET API

    OpenTelemetry.NET API Status and Releases Tracing Metrics Logging 1.0 Alpha Beta 安装 dotnet add packa ...

  8. Qt编写地图综合应用55-海量点位标注

    一.前言 海量点位标注的出现,是为了解决普通设备点超过几百个性能极速降低的问题,普通的marker标注由于采用的是对象的形式存在于地图中,数量越多,占用内存特别大,超过1000个点性能极其糟糕,哪怕是 ...

  9. WPF中实现弹出进度条窗口

    实现功能: 模拟一个任务开始执行,在窗口弹出一个进度条,展示执行进度,执行完成弹出提示框.例如做数据查询时,如果查询需要一段时间,操作人员可以很好的知道是否查询完成. 1. 设计进度条弹出窗口 进度条 ...

  10. C Primer Plus 第6版 第三章 编程练习参考答案

    编译环境VS Code+WSL GCC 源码在文末下载 /*第1题*************************/ #include<stdio.h> int main() { int ...