7.1 闲话-Erdős–Gallai 定理和哈基米算法
Erdős–Gallai 定理
前几天考试有一个建出最大流模型,转为最小割,然后模拟最小割的套路。
这一个套路并不是少见的。在 Gale-Ryser 定理和 Erdős–Gallai 定理的证明都体现了这个想法。
Gale-Ryser 定理:我先阅读了博文的 ycx060617 的评论的对 Gale-Ryser 定理的证明,略去。
Erdős–Gallai 定理:非增序列 \(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 定理和哈基米算法的更多相关文章
- 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 ...
- POJ1659 Frogs' Neighborhood(Havel–Hakimi定理)
题意 题目链接 \(T\)组数据,给出\(n\)个点的度数,问是否可以构造出一个简单图 Sol Havel–Hakimi定理: 给定一串有限多个非负整数组成的序列,是否存在一个简单图使得其度数列恰为这 ...
- may be a diary?
[About Me] SD某弱校高二的OIer. qq 995681518,欢迎一起交流~ 喵喵喵喵喵 "当你想要颓废的那一刻,想一想当初为什么走到了这里." 以下文字充满负面情绪 ...
- CF1091E New Year and the Acquaintance Estimation
题目地址:CF1091E New Year and the Acquaintance Estimation 首先,易知 \(ans\) 的奇偶性与所有给出的数的和的奇偶性相同 其次,易证 \(ans\ ...
- Codeforces 1091E New Year and the Acquaintance Estimation [图论]
洛谷 Codeforces 思路 有一个定理:Erdős–Gallai定理. 然后观察样例,可以猜到答案必定是奇偶性相同的一段区间,那么二分左右端点即可. 定理和这个猜测暂时都懒得学/证,留坑. #i ...
- Good Bye 2018 (A~F, H)
目录 Codeforces 1091 A.New Year and the Christmas Ornament B.New Year and the Treasure Geolocation C.N ...
- 【群论】polya定理
对Polya定理的个人认识 我们先来看一道经典题目: He's Circles(SGU 294) 有一个长度为N的环,上面写着“X”和“E”,问本质不同的环有多少个(不 ...
- CF 1091E New Year and the Factorisation Collaboration
昨晚Good Bye 2018D题没做出来,车翻大了…… 官方题解 传送门 初赛知识:一个无向图所有顶点度数之和为偶数.然而这东西还有一个高端的名字:Handshaking lemma 但是 ...
- Miller Rabin 算法简介
0.1 一些闲话 最近一次更新是在2019年11月12日.之前的文章有很多问题:当我把我的代码交到LOJ上,发现只有60多分.我调了一个晚上,尝试用{2, 3, 5, 7, 11, 13, 17, 1 ...
- Codeforces Round #382 Div. 2【数论】
C. Tennis Championship(递推,斐波那契) 题意:n个人比赛,淘汰制,要求进行比赛双方的胜场数之差小于等于1.问冠军最多能打多少场比赛.题解:因为n太大,感觉是个构造.写写小数据, ...
随机推荐
- 0. RyuJIT Tutorials - RyuJIT 的历史和架构
目录 上一篇:无 下一篇:待更新 正文 RyuJIT - 即 .NET 的 JIT 编译器,负责将 IL 代码编译为最终用于执行的机器代码. 本系列为 RyuJIT 教程,将分为多篇进行更新发布,旨在 ...
- 再也不用写请求HttpHelper了,HttpClient帮助你
前言 在C#7.1之后,net推出HttpClient类代替WebRequest, HttpWebRequest, ServicePoint, and WebClient ,先来看下他们在以前的作用 ...
- django admin 后台管理 新手学习步骤记录 (2)
学习使用django admin后台管理. 参考.Django基础之Admin后台数据管理_django admin_马航行的博客-CSDN博客
- 【巧用set实现对有序数组O(logn)时间复杂度增、删、查、改、二分操作】codeforces 1041 C. Coffee Break
题意 第一行输入三个整数 \(n,m,d(1 \leq n \leq 2 * 10^5, n \leq m \leq 10^9, 1 \leq d \leq n)\),第二行输入 \(n\) 个整数, ...
- Flutter 设置安卓启动页报错 java.lang.RuntimeException: Canvas: trying to draw too large(106,975,232 bytes) bitmap.
设置安卓启动页报错 首先设置安卓启动页 在android/app/src/main/AndroidManifest.xml中添加这一行 <meta-data android:name=" ...
- ajax请求与前后端交互的数据编码格式
目录 一.Ajax AJAX简介 应用场景 AJAX的优点 语法实现 二.数据编码格式(Content-Type) 写在前面 form表单 几种数据编码格式介绍 三.ajax携带文件数据 四.ajax ...
- 【Linux】职教云作业
作业_职教云_Day01 @ 哔哩哔哩 萌狼蓝天 1.由普通用户切换到root用户 su 2.列出home目录下的各个文件名字 cd /home ls 3.在/etc/目录下显示以sysc开头的所有命 ...
- 在linu系统安装apache全过程(httpd、apr、apr-util、pcre)以及进行相应配置
1.下载安装包,需要下面3个安装包[root@bes2 apache]# ll总用量 8520-rw-r--r--. 1 root root 1020833 9月 18 17:47 apr-1.5.1 ...
- TypeNameExtractor could not be found
TypeNameExtractor could not be foundException 一.注意: 如果项目中使用了 knif4j或swagger (knif4j内核中就使用了swagger) 项 ...
- 解决File "<input>", line 1 pip install XXXX ^ SyntaxError: invalid syntax
首先退出python exit() 打开cmd里直接输入(不要进python) pip install XXX