Vizing 定理

定义 \(\Delta(G)\) 表示图 \(G\) 的点的最大度数,即 \(\displaystyle\Delta G=\max_{i=1}^{|V|}\deg(i)\) .

边色数问题:对图 \(G\) 的每条边染一种颜色,使得有公共点的边涂不同的颜色,若能用 \(k\) 种颜色给 \(G\) 的边着色就称对 \(G\) 的边进行了 \(k\) 着色,或称 \(G\) 是 \(k\)-边可着色的 .

若 \(G\) 是 \(k\)-边可着色,且不是 \((k-1)\)-边可着色的,就称 \(k\) 是 \(G\) 的边色数。记作 \(\chi'(G)\) .

Vizing 定理

\(G\) 是简单图,则 \(\Delta(G)\le\chi'(G)\le\Delta(G)+1\) .

证明略 .

二分图 Vizing 定理

\(G\) 是二分图,则 \(\chi'(G)=\Delta(G)\) .

证明看 yspm 博客 .

例题

qiandao & UOJ444

一个 \((n,m)\) 点的二分图,\(k\) 条边,\(c\) 个颜色 .

一个点的代价是给其边染色之后边表中出现次数最多的颜色减去出现次数最少的颜色,求所有点的代价和的最小值 .

UOJ444 要求构造一组方案 .

随便一个点 \(u\),拆成 \(\deg(u)/c\) 个度数为 \(k\) 的节点和一个度数为 \(\deg(u)\bmod c\) 的节点(如果 \(c\mid\deg(u)\) 就不拆后面的) .

在满足度数限制的情况下,一条边端点可以连接任意一个拆出来的点,根据 Vizing 定理,我们显然可以构造出该图的一种 k 染色方案。

然后就没了 .

哦对答案是 \(\displaystyle\sum_{i=1}^{n+m}[c\nmid\deg(i)]\) .

现在真没了 .

魔怔愉悦之 Vizing 定理的更多相关文章

  1. 【学习笔记】Vizing 定理

    图染色问题的经典结论 定义 称一个边染色方案合法当且仅当每个顶点连出的所有边的颜色都互不相同,如果此时出现了 \(k\) 个颜色那么称该方案是图的一组 \(k\) 染色 一张无向图的边着色数为最小的 ...

  2. 微信公众号支付开发全过程 --JAVA

    按照惯例,开头总得写点感想 ------------------------------------------------------------------ 业务流程 这个微信官网说的还是很详细的 ...

  3. 【学习总结】Git学习-参考廖雪峰老师教程六-分支管理

    学习总结之Git学习-总 目录: 一.Git简介 二.安装Git 三.创建版本库 四.时光机穿梭 五.远程仓库 六.分支管理 七.标签管理 八.使用GitHub 九.使用码云 十.自定义Git 期末总 ...

  4. for循环中嵌套setTimeout,执行顺序和结果该如何理解?

    这两天在捣鼓作用域的问题,有的时候知识这个东西真的有点像是牵一发而动全身的感觉.在理解作用域的时候,又看到了一道经典的面试题和例子题. 那就是在for循环中嵌套setTimeout延时,想想之前面试的 ...

  5. zoj 2587 Unique Attack【最小割】

    拆点拆魔怔了 直接按照原图建就行,这里有个小技巧就是双向边的话不用按着板子建(u,v,c)(v,u,0)(v,u,c)(u,v,0),直接建(u,v,c)(v,u,c)会快十倍!800ms->8 ...

  6. css或Angular框架限制文本字数

    提需求的来了 某一期产品迭代时,新增了一个小功能,即:在单元格中的文本内容,字符超过20个字的时候,需要截断,并显示20个字符+一个省略号,未超过,无视. 这需求看上去不怎么复杂,看起来可以用css做 ...

  7. Java读源码之ReentrantLock

    前言 ReentrantLock 可重入锁,应该是除了 synchronized 关键字外用的最多的线程同步手段了,虽然JVM维护者疯狂优化 synchronized 使其已经拥有了很好的性能.但 R ...

  8. 龙芯 loongnix20 rc2 初体验

    2021-07-24 v0.0.1 版权声明:原创文章,未经博主允许不得转载 3A5000 昨天发布啦,历史上的昨天是中共一大的第一天. 3A5000 的团购还没开始(大概还是3999左右整机的样子) ...

  9. 2021.10.7考试总结[NOIP模拟71]

    信心赛,但炸了.T3SB错直接炸飞,T4可以硬算的组合数非要分段打表求阶乘..T2也因为一个细节浪费了大量时间.. 会做难题很好,但首先还是要先把能拿的分都拿到. T1 签到题 结论:总可以做到对每个 ...

随机推荐

  1. Java获取特定区间随机数及产生不重复随机数

    问题 有这样一种需求,在这样一个数组中String[] arr = new String[]{"电商", "互联网", "小程序", &qu ...

  2. 推荐一款新框架PyScript:在 HTML 嵌入 Python 代码!

    一.介绍 网页浏览器是目前世界上最普遍,最可携的计算机环境.几乎所有人都可以在计算机或是手机上使用网页浏览器,以没有基础设施障碍的方式访问程序. 在 PyCon US 2022 上,知名 Python ...

  3. Hapoop安装学习(第一天)

    学习任务: 1.安装虚拟机 Linux使用版本为Centos7,共安装3台虚拟机,一台主机和两台从机.主机命名为master,两台从机分别命名为s1和s2. master分配磁盘空间30G,s1和s2 ...

  4. Java实现数据库增删改查

    代码示例: import java.sql.*; public class Renewal { // 创建类static Connection con; // 声明Connection对象static ...

  5. CMake进行C/C++开发(linux下)

    开发环境配置 安装GCC,GDB sudo apt update # 通过以下命令安装编译器和调试器 sudo apt install build-essential gdb 安装成功确认 # 以下命 ...

  6. C#语言中的类型转换方法(unfinished)

    一.C#中的数据类型 1.数值类型 2.字符类型 3.字符串类型 4.布尔类型 5.枚举类型 6.Object类型 二.常见的类型转换 从转换方式的角度,类型转换分为隐式转换与显式转换两种. 其中,隐 ...

  7. 分布式机器学习:PageRank算法的并行化实现(PySpark)

    1. PageRank的两种串行迭代求解算法 我们在博客<数值分析:幂迭代和PageRank算法(Numpy实现)>算法中提到过用幂法求解PageRank. 给定有向图 我们可以写出其马尔 ...

  8. C语言- 基础数据结构和算法 - 09 栈的应用_中缀表达式转后缀表达式20220611

    09 栈的应用_中缀表达式转后缀表达式20220611 听黑马程序员教程<基础数据结构和算法 (C版本)>, 照着老师所讲抄的, 视频地址https://www.bilibili.com/ ...

  9. HDLBits->Verilog Language->Modules:Hierarchy->Modules and vectors

    题目要求如上不再赘述,主要关注到最后的四选一多路选择器. 最初编写的选择器代码如下 always@(sel) case(sel) 2'd0:q <= d; 2'd1:q <= in1; 2 ...

  10. (数据库提权——Redis)Redis未授权访问漏洞总结

    一.介绍 1.Redis数据库 Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key- ...